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.

  1. 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;

  2. 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;

  3. 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.


Leave a Reply Erota Uusintaottelu

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> Voit käyttää näitä koodeja: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del Datetime = ""> <em> <i> <q cite=""> <strike> <strong>

Subscribe to comments feature has been disabled. Tilaa kommentit ominaisuus on poistettu käytöstä. To receive notification of latest comments posted, subscribe to Jos haluat saada ilmoituksen Uusimmat kommentit lähetetty, tilata My Digital Life Comments RSS feed My Digital Life Kommentit RSS-syöte or tai register to receive rekisteri vastaanottaa new comments in daily email digest. uusia kommentteja päivittäin emaildigest.
Custom Search

New Articles Uudet artikkelit

Incoming Search Terms for the Article Saapuvat Hakutermit varten artikla

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. - -- sql server compatibility level SQL Server yhteensopivuus tasolla - -- sql 2005 compatibility mode sql 2005 yhteensopivuustilaa - -- sql server 2008 compatibility mode SQL Server 2008 yhteensopivuustilaa - -- sql server compatibility levels SQL Server yhteensopivuuden tasoa - -- sql compatibility mode sql yhteensopivuus tilassa - -- check compatibility level in sql server 2008 Tarkista yhteensopivuus tasolla SQL Server 2008 - -- compatibility level sql server yhteensopivuuden tason SQL Server - -- sql serveer 2005 SET COMPATIBILITY_LEVEL sql serveer 2005 SET COMPATIBILITY_LEVEL - -- database compatibility mode is set to 90 tietokanta yhteensopivuus tila on asetettu 90 - -- how to set Oletuskielen asettamisohjeet - -- sql 2005 compatibility level sql 2005 yhteensopivuus tasolla - -- MS SQL 2008 server to run SQL 2005 database compatibility mode MS SQL 2008-palvelin käyttää SQL 2005 tietokanta yhteensopivuus tilassa - -- SET COMPATIBILITY_LEVEL SET COMPATIBILITY_LEVEL - -- SQLSERVER compatibility level SQLServer yhteensopivuus tasolla - -- SQL compatibility level SQL yhteensopivuus tasolla - -- how to set compatibility level 80 of sql server 2005 miten voitaisiin yhteensopivuus tasolla 80 SQL Server 2005 - -- sql 2000 2005 select compatibility sql 2000 2005 valitse yhteensopivuus - -- sql 2008 compatibility level sql 2008 yhteensopivuus tasolla - -- please set the compatibility level for current database to 80,using the set compatibility_level option of alter database. aseta yhteensopivuus tasolla nykyinen tietokanta 80 käyttäen asettaa compatibility_level mahdollisuus muuttaa tietokantaan. - -- set sql server 2008 to 80 asettaa SQL Server 2008-80 - -- sql server 2008 compatibility SQL Server 2008 yhteensopivuus - -- 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, 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 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. - -- non-ANSI outer join operators ("*=" or "=*"). ei-ANSI ulkopohjat liittyä toimijoiden ("*=" tai "=*"). To run this query without modification, please set the compatibility level for current database to 80 or lower Voit suorittaa tämän kyselyn ilman muutoksia, aseta yhteensopivuus tasolla nykyinen tietokanta 80 tai pienempi - -- changing compatibility level in sql 2008 from 2000 muuttuviin yhteensopivuus tasolla sql 2008 alkaen 2000 - -- please set the compatibility level for current database to 80 aseta yhteensopivuus tasolla nykyinen tietokanta 80 - -- setting sql compatibility jossa sql yhteensopivuus - -- set compatibility_level option of alter database asettaa compatibility_level mahdollisuus muuttaa tietokanta - -- set compatibility level using sp_dbcmptlevel asettaa yhteensopivuus tasolla käyttäen sp_dbcmptlevel - -- non-ansi outer join operators and database compatibility ei-ANSI ulkopohjat liittyä toimijoiden ja tietokantojen yhteensopivuus - -- set compatibility to 80 on sql server 2008 asettaa yhteensopivuus on 80 SQL Server 2008 - -- sql 2008 6.5 compatibility mode sql 2008 6,5 yhteensopivuus tilassa - -- 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). - -- compatibility level sqlserver yhteensopivuuden tason sqlserver - -- cpmpatibility level sql 2005 lower 80 cpmpatibility tasolla sql 2005 alhaisempi 80 - -- microsoft sql 2005 backward compatibility download Microsoft SQL 2005 taaksepäin yhteensopivuus ladata - -- SQL Server 2008 + IE 6 compatibility SQL Server 2008 + IE 6 yhteensopivuus - -- the query uses non-ansi outer join operators. Kyselyn käyttää ei-ANSI ulkopohjat liittyä toimijoille. compatibility level for current database to 80 or lower yhteensopivuus tasolla nykyinen tietokanta 80 tai pienempi - -- sql server 2005 versus 2008 SQL Server 2005 vs. 2008 - -- 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. - -- "sql server 2008" compatibility transact sql "SQL Server 2008" yhteensopivuus kaupan sql - -- SQL Server 2008 database in compatibility mode 90 SQL Server 2008-tietokannan yhteensopivuustilaa 90 - -- compatibility setting for SQL SERVER 2008 yhteensopivuus, jossa SQL Server 2008 - -- compatibility mode is set to 90. yhteensopivuustilaa on asetettu 90. JOIN USING LIITY KÄYTTÄMÄLLÄ - -- how to set sql 2005 compatibility mode miten voitaisiin sql 2005 yhteensopivuustilaa - -- level sql server tasolla SQL Server - -- Running 2008 SQL Server Databases in 2005 mode Running 2008 SQL Server-tietokannat vuonna 2005 tila - -- set sql server multi user mode asettaa SQL Server usean käyttäjän tilassa - -- sql 2005 set sql 2005 asetettu - -- sql server ansi compatibility SQL Server ANSI yhteensopivuus - --