How to Set Compatibility Level for SQL Server 2008 or 2005 Database Miten Aseta Compatibility tason SQL Server 2008 tai 2005 Database
When selecting data or performing query on Microosft SQL Server 2008 or SQL Server 2005 database, the following error message or failure may be returned: Kun valitset tietojen tai suorittamalla haku Microosft SQL Server 2008 tai SQL Server 2005-tietokanta, seuraava virhesanoma tai vika voidaan palauttaa:
[Microsoft][ODBC SQL Server Driver][SQL Server][Msg 4147, Level 15, State 1, Line 4] The query uses non-ANSI outer join operators (”*=” or “=*”). [Microsoft] [ODBC SQL Server Driver] [SQL Server] [Msg 4147, Level 15, Valtion 1, Line 4] Kyselyn käyttää ei-ANSI ulkopohjat liittyä toimijoiden ("*=" tai "=*"). To run this query without modification, please set the compatibility level for current database to 80, using the SET COMPATIBILITY_LEVEL option of ALTER DATABASE. Voit suorittaa tämän kyselyn ilman muutoksia, aseta yhteensopivuus tasolla nykyinen tietokanta 80 käyttäen SET COMPATIBILITY_LEVEL mahdollisuus ALTER DATABASE. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). On erittäin suositeltavaa kirjoittaa kysely käyttäen ANSI ulkopohjat liittyä toimijoiden (LEFT OUTER JOIN, RIGHT OUTER JOIN). In the future versions Vastaisuudessa versiot
of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. SQL Server, ei-ANSI liittyä toimijat eivät tukenut jopa taaksepäin yhteensopivuus liikennemuotoihin.
or, tai,
Msg 4147, Level 15, State 1, Line 3 Msg 4147, Level 15, Valtion 1, Line 3
The query uses non-ANSI outer join operators (”*=” or “=*”). Kyselyn käyttää ei-ANSI ulkopohjat liittyä toimijoiden ("*=" tai "=*"). To run this query without modification, please set the compatibility level for current database to 80 or lower, using stored procedure sp_dbcmptlevel. Voit suorittaa tämän kyselyn ilman muutoksia, aseta yhteensopivuus tasolla nykyinen tietokanta 80 tai vähemmän, käytetään tallennettu menettely sp_dbcmptlevel. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). On erittäin suositeltavaa kirjoittaa kysely käyttäen ANSI ulkopohjat liittyä toimijoiden (LEFT OUTER JOIN, RIGHT OUTER JOIN). In the future versions of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. Vastaisuudessa versiot SQL Server, ei-ANSI liittyä toimijat eivät tukenut jopa taaksepäin yhteensopivuus liikennemuotoihin.
The error happens because Microsoft has dropped support for and eliminated old-style *= and =* outer join operators. Virhe tapahtuu, koska Microsoft on laskenut tuki ja eliminoituu vanhanaikaisten *= ja =* ulkopohjat liittyä toimijoille.
In order to fix the SQL Server error above, DB administrator has to set the database compatibility level to 80, which equivalent with SQL Server 2000 as a temporary workaround. Jotta voitaisiin korjata SQL Palvelinvirhe edellä TE järjestelmänvalvoja on asettaa tietokanta yhteensopivuus tasolla 80, joka vastaa SQL Server 2000 määräaikaisena kiertotapaa. Of course, the best solution is to modify the SQL statements or queries code to remove the old-style join operators with current standard SQL join syntax. Tietenkin, paras ratkaisu on muuttaa SQL-lauseet tai queries koodi poistaa vanhanaikaisten liittyä toimijat nykyinen standardi SQL liittyä syntaksia.
For example, SQL query below is not valid: Esimerkiksi SQL-kyselyn alla ei ole voimassa:
SELECT o.name FROM sys.objects o, sys.views v WHERE o.object_id *= v.object_id;
And should be replaced with the following code: Ja se olisi korvattava seuraava koodi:
SELECT o.name FROM sys.objects o LEFT JOIN sys.views v ON o.object_id = v.object_id;
Or the following abbreviated inner join statement: Tai seuraavana lyhennetty sisäpakkausta liittyä julkilausuma:
SELECT o.name FROM sys.objects o, sys.views v WHERE o.object_id = v.object_id;
For administrator who can't change the code, the easiest workaround is to revert the compatibility level of the database in order to provide the backward compatibility to old-style joins. Saat ylläpitäjä, joka ei voi muuttaa koodia, on helpoin kiertotapaa on palautettava yhteensopivuuden tason tietokanta, jotta taaksepäin yhteensopivuus vanhoihin-tyyli liittyy. sp_dbcmptlevel stored procedures (deprecated) or Transact-SQL can be used to set certain (partially, not all) database behaviors to be compatible with the earlier version of SQL Server. sp_dbcmptlevel tallennettu menettelyt (deprecated) tai Transact-SQL voidaan asettaa tiettyjä (osittain, ei kaikissa) tietokanta käyttäytymismalleja, jotta se on yhteensopiva aiemman version SQL Server. This Tämä MSDN article MSDN artikkeli provides overview on what behaviors are changed on each compatibility level. antaa yleiskuvan siitä, mitä käyttäytymiset muutetaan kunkin yhteensopivuus tasolla.
Version of SQL Server that can be reverted to can be one of the following: Version SQL Server, joka voidaan palasi voi olla jokin seuraavista:
60 = SQL Server 6.0 60 = SQL Server 6.0
65 = SQL Server 6.5 65 = SQL Server 6.5
70 = SQL Server 7.0 70 = SQL Server 7.0
80 = SQL Server 2000 80 = SQL Server 2000
90 = SQL Server 2005 90 = SQL Server 2005
100 = SQL Server 2008 100 = SQL Server 2008
Note: Compatibility level 60, 65, and 70 no longer available in SQL Server 2008. Huom: Compatibility tasolla 60, 65 ja 70 ei ole enää saatavilla SQL Server 2008. And future version of SQL Server will support only two (2) prior version of backward compatibility. Ja tulevaisuudessa version SQL Server tukee vain kaksi (2) ennen versiota taaksepäin yhteensopivuus. A database containing an indexed view cannot be changed to a compatibility level lower than 80. Tietokanta, joka sisältää indeksoidussa kantaa ei voida muuttaa yhteensopivuuspaketin taso alhaisempi kuin 80. Do also take note that when a database is set to backward-compatibility mode, some of the new functionalities may be lost, such as SQL CLR support and SSMS diagrams for the database. Onko syytä huomata myös, että kun tietokanta on asetettu taaksepäin yhteensopivuus-tilassa, jotkin uusista toiminnoista voi kadota, kuten SQL CLR tukea ja SSMS kaaviot varten tietokantaan. Beside, the compatibility mode affects behaviors only for the specified database, not for the entire server. Sen lisäksi, että yhteensopivuus tilassa vaikuttaa käyttäytymiset vain vaadituille tietokantaan, ei koko palvelimeen.
Steps to Change and Set Compatibility Level of A Database in SQL Server Vaihtaaksesi ja Set Compatibility Taso A Database SQL Server
The following SQL commands can be issued in SQL Server Management Studio Query window. Seuraavan SQL-komentoja voidaan myöntää SQL Server Management Studio Query-ikkunassa. Remember to execute Go after each command. Muista suorittaa Siirry kunkin komennon jälkeen.
- Optional: Set the database to single user access mode: Valinnainen: Aseta tietokannan yhden käyttäjän tilassa:
ALTER DATABASE database_name SET SINGLE_USER; - Set the database compatibility level to one of the earlier version stated above: Aseta tietokannan yhteensopivuus tasolla yksi aikaisempi versio edellä todettiin:
Transact-SQL Method Transact-SQL Menetelmä
ALTER DATABASE database_name SET COMPATIBILITY_LEVEL = { 80 | 90 | 100 }For example, Esimerkiksi
ALTER DATABASE my_db SET COMPATIBILITY_LEVEL = 80 ALTER DATABASE my_db SET COMPATIBILITY_LEVEL = 80
sp_dbcmptlevel Stored Procedure Method sp_dbcmptlevel Stored Procedure Menetelmä
EXEC sp_dbcmptlevel database_name, compatibility_level value;For example, Esimerkiksi
EXEC sp_dbcmptlevel my_db, 90; EXEC sp_dbcmptlevel my_db, 90;
- Optional: Put back the database in multiuser access mode: Valinnainen: Laita takaisin tietokannan monen pääsy tilassa:
ALTER DATABASE database_name SET MULTI_USER;
IMPORTANT : The page is machine translated and provided "as is" without warranty. TÄRKEÄÄ: Sivua kone käännetään ja tarjotaan "sellaisenaan" ilman takuu. Machine translation may be difficult to understand. Machine translation voi olla vaikea ymmärtää. Please refer to Tutustu original English article alkuperäinen Englanti artikkeli whenever possible. aina kun mahdollista.
Related Articles Aiheeseen liittyviä artikkeleita
- Uninstall and Remove Multiple Database Instances of Microsoft SQL Server 2005 Uninstall ja poistaa useita Database instanssit Microsoft SQL Server 2005
- Microsoft DreamSpack Offers Free Download and License of Visual Studio 2008, Server 2003, SQL Server 2005 and More Microsoft DreamSpack tarjoaa ilmaisia Lataa ja Lisenssi Visual Studio 2008, Server 2003, SQL Server 2005 and More
- Optimize SQL Server 2000, 2005 or 2008 in Large RAM System by Locking Pages in Memory and AWE Optimoi SQL Server 2000, 2005 tai 2008 Suuret RAM järjestelmään Locking sivut Muistivaatimukset ja AWE
- Download Update for Windows 7 and Server 2008 R2 Beta (KB967062) to Fix Common Application Compatibility Issue Lataa Windows 7 ja Server 2008 R2 Beta (KB967062) asettaa Määrittämätön Application Compatibility Issue
- Error Has Occurred While Establishing A Connection To SQL Server 2005 Which Does Not Allow Local and Remote Connections Virhe on tapahtunut Vaikka muodostamalla SQL Server 2005, jotka eivät mahdollista Paikallis-ja kauko-yhteydet
- Microsoft Virtual Server 2005 R2 Download Available for Free Microsoft Virtual Server 2005 R2 Lataa saatavilla ilmaiseksi
- Check System Compatibility Via Microsoft New Application Compatibility Toolkit Version 5.5 Tarkista järjestelmän yhteensopivuus Via Microsoft New Application Compatibility Toolkit Version 5.5
- Microsoft Virtual Server 2005 R2 SP1 (Enterprise Edition) Direct Download Links Microsoft Virtual Server 2005 R2 SP1 (Enterprise Edition) Suora Noutolinkit
- Internet Explorer (IE) Hang When Opening Virtual Server 2005 Web Administration Site Internet Explorer (IE) Hang Kun avaaminen Virtual Server 2005 Web Administration Sivustokartta
- Change Oracle Database User Password Muuta Oracle Database Käyttäjä Salasana









































