How to Set Compatibility Level for SQL Server 2008 or 2005 Database Kako nastaviti Kompatibilnost ravni za SQL Server 2008 ali 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: Pri izbiri podatkov ali opravljanje poizvedb o Microosft SQL Server 2008 ali SQL Server 2005 podatkovne baze, naslednje sporočilo o napaki ali odpoved se lahko vrne:

[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] [Sporočilo 4147, Level 15, članica 1, vrstica 4] query uporab niso ANSI pridružijo zunanji subjekti ("*=" ali "=*"). 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. Če želite izvesti to vprašanje brez sprememb, prosimo, nastavite stopnjo združljivosti za sedanje baze podatkov do 80, z uporabo SET COMPATIBILITY_LEVEL možnost spreminjati baze podatkov. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). To je zelo priporočljivo znova poizvedbo z uporabo ANSI pridružijo zunanji subjekti (LEVI ZUNANJI JOIN, RIGHT JOIN ZUNANJI). In the future versions V prihodnje različice
of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. SQL Server, ne ANSI pridružiti operaterji ne bodo podprti tudi v združljivost nazaj načine.


or, ali,

Msg 4147, Level 15, State 1, Line 3 Msg 4147, Level 15, članica 1, vrstica 3
The query uses non-ANSI outer join operators (”*=” or “=*”). Poizvedba uporablja brez ANSI pridružijo zunanji subjekti ("*=" ali "=*"). To run this query without modification, please set the compatibility level for current database to 80 or lower, using stored procedure sp_dbcmptlevel. Če želite izvesti to vprašanje brez sprememb, prosimo, nastavite stopnjo združljivosti za sedanje baze podatkov s 80 ali nižje, z uporabo shranjeni postopek sp_dbcmptlevel. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). To je zelo priporočljivo znova poizvedbo z uporabo ANSI pridružijo zunanji subjekti (LEVI ZUNANJI JOIN, RIGHT JOIN ZUNANJI). In the future versions of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. V prihodnje različice SQL Server, ne ANSI pridružiti operaterji ne bodo podprti tudi v združljivost nazaj načine.

The error happens because Microsoft has dropped support for and eliminated old-style *= and =* outer join operators. Ta napaka se zgodi, ker Microsoft je padla za podporo in odpraviti starih in *= =* pridružijo zunanji izvajalci.

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. Da bi določili SQL Server error zgoraj, DB administrator je določiti podatkovno zbirko združljivost ravni do 80, ki je enakovreden z SQL Server 2000 kot začasna rešitev. 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. Seveda, je najboljša rešitev, da spreminjanje SQL izjave poizvedbe ali koda za odstranitev starih pridružiti operaterji s sedanjo standardno SQL syntax pridružiti.

For example, SQL query below is not valid: Na primer, SQL query spodaj ni veljaven:

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: In naj se nadomesti z naslednjo kodo:

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: Ali po skrajšani Notranje pridružiti izjavo:

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. Za skrbnika, ki se ne morejo spremeniti kodo, najlažje rešitev je, da se vrne združljivosti ravni baze podatkov, da se zagotovi združljivost nazaj na starih pridruži. 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 shranjeni postopki (deprecated) ali Transact-SQL se lahko uporablja za določitev nekaterih (delno, ne vse), podatkovne baze obnašanja mora biti združljiva s starejšo različico SQL Server. This To MSDN article MSDN članek provides overview on what behaviors are changed on each compatibility level. ponuja pregled o tem, kaj sprememba vedenja so na vsaki ravni združljivosti.

Version of SQL Server that can be reverted to can be one of the following: Različica za SQL Server, ki se lahko obrnil, da se lahko eno od naslednjih navedb:

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. Opomba: Kompatibilnost ravni 60, 65 in 70 ni več na voljo v SQL Server 2008. And future version of SQL Server will support only two (2) prior version of backward compatibility. In prihodnje različice SQL Server bo podpiral samo dva (2) pred različico povratno združljivost. A database containing an indexed view cannot be changed to a compatibility level lower than 80. Podatkovna baza vsebuje indeksiran mnenju ni mogoče spremeniti na združljivost ravni nižja od 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. Ali upošteva tudi, da kadar bazo podatkov je, da nazaj združljivostnem načinu, v nekaterih novih funkcij se lahko izgubijo, kot so na primer SQL CLR podporo in SSMS diagramov za baze podatkov. Beside, the compatibility mode affects behaviors only for the specified database, not for the entire server. Poleg tega, združljivost način vedenja vpliva le za določene baze podatkov, ne pa za celoten strežnik.

Steps to Change and Set Compatibility Level of A Database in SQL Server Korakom, da spremenite in nastavite združljivostni ravni baze podatkov na SQL Server

The following SQL commands can be issued in SQL Server Management Studio Query window. Naslednje SQL ukaze lahko izda v SQL Server Management Studio Query window. Remember to execute Go after each command. Ne pozabite, da izvrši Pojdi po vsakem ukaz.

  1. Optional: Set the database to single user access mode: Neobvezno: Določite zbirko podatkov za dostop enemu uporabniku Način:

    ALTER DATABASE database_name SET SINGLE_USER;

  2. Set the database compatibility level to one of the earlier version stated above: Nastavite bazo podatkov združljivost ravni na eno od prejšnje različice navedeno:

    Transact-SQL Method Transact-SQL Metoda

    ALTER DATABASE database_name SET COMPATIBILITY_LEVEL = { 80 | 90 | 100 }

    For example, Na primer,

    ALTER DATABASE my_db SET COMPATIBILITY_LEVEL = 80 Alter zbirki my_db SET COMPATIBILITY_LEVEL = 80

    sp_dbcmptlevel Stored Procedure Method sp_dbcmptlevel Stored Procedure Metoda

    EXEC sp_dbcmptlevel database_name, compatibility_level value;

    For example, Na primer,

    EXEC sp_dbcmptlevel my_db, 90; Exec sp_dbcmptlevel my_db, 90;

  3. Optional: Put back the database in multiuser access mode: Neobvezno: Pot nazaj v bazo podatkov v Višekorisničko Način dostopa:

    ALTER DATABASE database_name SET MULTI_USER;

IMPORTANT : The page is machine translated and provided "as is" without warranty. POMEMBNO: Ta stran je stroj prevod in če "kot je" brez garancije. Machine translation may be difficult to understand. Strojno prevajanje je lahko težko razumeti. Please refer to Prosimo, da original English article original English članek whenever possible. kadar je to mogoče.


Leave a Reply Leave a Reply

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> Lahko uporabite te oznake: <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. Naročite se na komentarje funkcija je bila onemogočena. To receive notification of latest comments posted, subscribe to Če želite prejemati obvestila o najnovejših pripombe napoten, se naročite na My Digital Life Comments RSS feed Moje digitalno življenje Comments RSS or ali register to receive Registrirajte se za prejemanje new comments in daily email digest. novi komentarji v dnevni email prebavljajo.
Custom Search

New Articles Novi členi

Incoming Search Terms for the Article Dohodna Iskalni pogoji za člen

The query uses non-ANSI outer join operators ("*=" or "=*"). Poizvedba uporablja brez ANSI pridružijo zunanji subjekti ("*=" ali "=*"). To run this query without modification, please set the compatibility level for current database to 80 or lower, using stored procedure sp_dbcmptlevel. Če želite izvesti to vprašanje brez sprememb, prosimo, nastavite stopnjo združljivosti za sedanje baze podatkov s 80 ali nižje, z uporabo shranjeni postopek sp_dbcmptlevel. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). To je zelo priporočljivo znova poizvedbo z uporabo ANSI pridružijo zunanji subjekti (LEVI ZUNANJI JOIN, RIGHT JOIN ZUNANJI). In the future versions of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. V prihodnje različice SQL Server, ne ANSI pridružiti operaterji ne bodo podprti tudi v združljivost nazaj načine. - -- sql server compatibility level SQL Server združljivost ravni - -- sql 2005 compatibility mode SQL 2005 združljivostnem načinu - -- sql server 2008 compatibility mode SQL Server 2008 združljivostnem načinu - -- sql server compatibility levels SQL Server združljivost ravni - -- sql compatibility mode sql združljivostnem načinu - -- check compatibility level in sql server 2008 preverite združljivost ravni v SQL Server 2008 - -- compatibility level sql server združljivost raven SQL Server - -- sql serveer 2005 SET COMPATIBILITY_LEVEL sql serveer 2005 SET COMPATIBILITY_LEVEL - -- database compatibility mode is set to 90 Podatkovna baza združljivostnem načinu se nastavi na 90 - -- how to set kako določiti - -- sql 2005 compatibility level SQL 2005 združljivost ravni - -- MS SQL 2008 server to run SQL 2005 database compatibility mode MS SQL 2008 strežnik teči SQL 2005 podatkovno bazo združljivostnem načinu - -- SET COMPATIBILITY_LEVEL SET COMPATIBILITY_LEVEL - -- SQLSERVER compatibility level SQLSERVER združljivost ravni - -- SQL compatibility level SQL združljivost ravni - -- how to set compatibility level 80 of sql server 2005 kako določiti združljivost ravni 80 SQL Server 2005 - -- sql 2000 2005 select compatibility SQL 2000 2005 izberite združljivost - -- sql 2008 compatibility level SQL 2008 združljivost ravni - -- please set the compatibility level for current database to 80,using the set compatibility_level option of alter database. Prosimo, nastavite stopnjo združljivosti za sedanje baze podatkov do 80, ob uporabi določil compatibility_level možnost spreminjati baze podatkov. - -- set sql server 2008 to 80 sklop SQL Server 2008 80 - -- sql server 2008 compatibility SQL Server 2008 združljivost - -- The query uses non-ANSI outer join operators ("*=" or "=*"). Poizvedba uporablja brez ANSI pridružijo zunanji subjekti ("*=" ali "=*"). 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. Če želite izvesti to vprašanje brez sprememb, prosimo, nastavite stopnjo združljivosti za sedanje baze podatkov do 80, z uporabo SET COMPATIBILITY_LEVEL možnost spreminjati baze podatkov. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). To je zelo priporočljivo znova poizvedbo z uporabo ANSI pridružijo zunanji subjekti (LEVI ZUNANJI JOIN, RIGHT JOIN ZUNANJI). In the future versions of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. V prihodnje različice SQL Server, ne ANSI pridružiti operaterji ne bodo podprti tudi v združljivost nazaj načine. - -- non-ANSI outer join operators ("*=" or "=*"). brez ANSI pridružijo zunanji subjekti ("*=" ali "=*"). To run this query without modification, please set the compatibility level for current database to 80 or lower Če želite izvesti to vprašanje brez sprememb, prosimo, nastavite stopnjo združljivosti za sedanje baze podatkov s 80 ali nižje - -- changing compatibility level in sql 2008 from 2000 spreminjajoče se ravni združljivosti v SQL 2008 od 2000 - -- please set the compatibility level for current database to 80 Prosimo, nastavite stopnjo združljivosti za sedanje baze podatkov 80 - -- setting sql compatibility nastavitev SQL združljivost - -- set compatibility_level option of alter database sklop compatibility_level možnost spreminjati zbirko podatkov - -- set compatibility level using sp_dbcmptlevel nastavite stopnjo združljivosti s pomočjo sp_dbcmptlevel - -- non-ansi outer join operators and database compatibility brez ANSI pridružijo zunanji subjekti in podatkovne baze združljivost - -- set compatibility to 80 on sql server 2008 določiti združljivost s 80 na SQL Server 2008 - -- sql 2008 6.5 compatibility mode SQL 2008 6,5 združljivostnem načinu - -- The query uses non-ANSI outer join operators ("*=" or "=*"). Poizvedba uporablja brez ANSI pridružijo zunanji subjekti ("*=" ali "=*"). To run this query without modification, please set the compatibility level for current database to 80 or lower, using stored procedure sp_dbcmptlevel. Če želite izvesti to vprašanje brez sprememb, prosimo, nastavite stopnjo združljivosti za sedanje baze podatkov s 80 ali nižje, z uporabo shranjeni postopek sp_dbcmptlevel. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). To je zelo priporočljivo znova poizvedbo z uporabo ANSI pridružijo zunanji subjekti (LEVI ZUNANJI JOIN, RIGHT JOIN ZUNANJI). - -- compatibility level sqlserver združljivost ravni sqlserver - -- cpmpatibility level sql 2005 lower 80 cpmpatibility ravni SQL 2005 nižje 80 - -- microsoft sql 2005 backward compatibility download Microsoft SQL 2005 združljivost nazaj download - -- SQL Server 2008 + IE 6 compatibility SQL Server 2008 + IE 6 združljivost - -- the query uses non-ansi outer join operators. poizvedbi uporablja brez ANSI pridružijo zunanji izvajalci. compatibility level for current database to 80 or lower združljivost raven sedanje baze podatkov s 80 ali nižje - -- sql server 2005 versus 2008 SQL Server 2005 versus 2008 - -- To run this query without modification, please set the compatibility level for current database to 80 or lower, using stored procedure sp_dbcmptlevel. Če želite izvesti to vprašanje brez sprememb, prosimo, nastavite stopnjo združljivosti za sedanje baze podatkov s 80 ali nižje, z uporabo shranjeni postopek sp_dbcmptlevel. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). To je zelo priporočljivo znova poizvedbo z uporabo ANSI pridružijo zunanji subjekti (LEVI ZUNANJI JOIN, RIGHT JOIN ZUNANJI). In the future versions of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. V prihodnje različice SQL Server, ne ANSI pridružiti operaterji ne bodo podprti tudi v združljivost nazaj načine. - -- "sql server 2008" compatibility transact sql "SQL Server 2008" združljivosti posel sql - -- SQL Server 2008 database in compatibility mode 90 SQL Server 2008 podatkovne baze v združljivostnem načinu 90 - -- compatibility setting for SQL SERVER 2008 nastavitev združljivosti za SQL Server 2008 - -- compatibility mode is set to 90. združljivost način je nastavljen na 90. JOIN USING PRIDRUŽI SE UPORABI - -- how to set sql 2005 compatibility mode kako nastaviti SQL 2005 združljivostnem načinu - -- level sql server raven SQL Server - -- Running 2008 SQL Server Databases in 2005 mode Running 2008 SQL Server 2005 Databases v načinu - -- set sql server multi user mode sklop SQL Server multi user mode - -- sql 2005 set SQL 2005 določil - -- sql server ansi compatibility SQL Server ANSI združljivost - --