How to Set Compatibility Level for SQL Server 2008 or 2005 Database Com configurar el nivell de compatibilitat per SQL Server 2008 o 2005 Base de dades

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: En seleccionar les dades o la realització de la consulta sobre Microosft SQL Server 2008 o SQL Server 2005 base de dades, el següent missatge d'error o el fracàs pot ser retornat:

[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] [Msj 4147, Nivell 15, Estat 1, Línia 4] La consulta utilitza la no-ANSI outer join operadors ("*=" o "=*"). 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. Per executar aquesta consulta sense modificacions, si us plau, defineixi el nivell de compatibilitat de base de dades actual a 80, utilitzant la sentència SET COMPATIBILITY_LEVEL opció de ALTER DATABASE. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). Es recomana encaridament a reescriure la consulta utilitzant ANSI outer join operadors (LEFT OUTER Join, OUTER Join DRET). In the future versions En les versions futures
of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. de SQL Server, no unir-se als operadors ANSI no es recolza fins i tot en els modes de compatibilitat cap enrere.


or, o,

Msg 4147, Level 15, State 1, Line 3 Missatge 4147, Nivell 15, Estat 1, Línia 3
The query uses non-ANSI outer join operators (”*=” or “=*”). La consulta utilitza la no-ANSI outer join operadors ("*=" o "=*"). To run this query without modification, please set the compatibility level for current database to 80 or lower, using stored procedure sp_dbcmptlevel. Per executar aquesta consulta sense modificacions, si us plau, defineixi el nivell de compatibilitat de base de dades actual a 80 o inferior, usant sp_dbcmptlevel procediment emmagatzemat. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). Es recomana encaridament a reescriure la consulta utilitzant ANSI outer join operadors (LEFT OUTER Join, OUTER Join DRET). In the future versions of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. En el futur, les versions de SQL Server, no unir-se als operadors ANSI no es recolza fins i tot en els modes de compatibilitat cap enrere.

The error happens because Microsoft has dropped support for and eliminated old-style *= and =* outer join operators. L'error ocorre perquè Microsoft ha disminuït el suport i eliminat antiquat i *= =* exterior unir-se operadors.

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. Per tal de solucionar l'error anterior de SQL Server, DB administrador ha de configurar la base de dades a nivell de compatibilitat 80, que equival a SQL Server 2000 com una solució temporal. 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. Per descomptat, la millor solució és modificar les consultes SQL o codi per eliminar el vell estil d'unir-se amb els actuals operadors d'unir-se a la sintaxi SQL estàndard.

For example, SQL query below is not valid: Per exemple, sota de la consulta SQL no és vàlida:

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: I ha de ser reemplaçat amb el següent codi:

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: O la següent declaració abreujada inner join:

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. Per a l'administrador que no poden canviar el codi, la millor solució és tornar a la compatibilitat a nivell de la base de dades amb la finalitat de proporcionar compatibilitat amb versions anteriors a la antigua usanza uneix. 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 procediments emmagatzemats (obsolet) o de transact-SQL pot ser usat per fixar determinats (en part, no totes) de base de dades de conductes per ser compatible amb la versió anterior de SQL Server. This Això MSDN article L'article de MSDN provides overview on what behaviors are changed on each compatibility level. visió general del que estableix conductes es canvien en cada nivell de compatibilitat.

Version of SQL Server that can be reverted to can be one of the following: Versió de SQL Server que pot ser tornat a ser un dels següents:

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. Nota: El nivell de compatibilitat de 60, 65, i 70 no estiguin disponibles a SQL Server 2008. And future version of SQL Server will support only two (2) prior version of backward compatibility. I la futura versió de SQL Server recolzarà només dos (2) abans de la versió de compatibilitat amb versions anteriors. A database containing an indexed view cannot be changed to a compatibility level lower than 80. Una base de dades amb un indexat vista no es pot canviar a un nivell de compatibilitat inferior a 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. També es prenen nota de que quan una base de dades està configurat en mode de compatibilitat cap enrere-, algunes de les noves funcionalitats es poden perdre, com SQL CLR SSMS i esquemes de suport per a la base de dades. Beside, the compatibility mode affects behaviors only for the specified database, not for the entire server. Al costat, el mode de compatibilitat només afecta els comportaments de la base de dades especificada, no per a tot el servidor.

Steps to Change and Set Compatibility Level of A Database in SQL Server Passos per al Canvi i el nivell de compatibilitat de base de dades en SQL Server

The following SQL commands can be issued in SQL Server Management Studio Query window. Les següents comandes SQL poden emetre en SQL Server Management Studio Consulta finestra. Remember to execute Go after each command. Recordar Anar a executar després de cada comanda.

  1. Optional: Set the database to single user access mode: Opcional: Configurar la base de dades per usuari únic mode d'accés:

    ALTER DATABASE database_name SET SINGLE_USER;

  2. Set the database compatibility level to one of the earlier version stated above: Definiu la base de dades a un nivell de compatibilitat de la versió anterior ja s'ha dit:

    Transact-SQL Method Mètode de transact-SQL

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

    For example, Per exemple,

    ALTER DATABASE my_db SET COMPATIBILITY_LEVEL = 80 ALTER DATABASE my_db CONJUNT COMPATIBILITY_LEVEL = 80

    sp_dbcmptlevel Stored Procedure Method Mètode sp_dbcmptlevel procediment emmagatzemat

    EXEC sp_dbcmptlevel database_name, compatibility_level value;

    For example, Per exemple,

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

  3. Optional: Put back the database in multiuser access mode: Opcional: Posar de nou la base de dades en mode d'accés multiusuari:

    ALTER DATABASE database_name SET MULTI_USER;

IMPORTANT : The page is machine translated and provided "as is" without warranty. IMPORTANT: La pàgina està traduïda màquina i proporciona "tal qual" sense garantia. Machine translation may be difficult to understand. La traducció automàtica pot resultar difícil d'entendre. Please refer to Si us plau, consulteu original English article article original anglès whenever possible. sempre que sigui possible.


Leave a Reply Deixi una contestació

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> Vostè pot utilitzar aquestes etiquetes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <l'datetime = ""> <em> <i> <q cite=""> <strike> <strong>

Subscribe to comments feature has been disabled. Subscriure's als informes S'ha desactivat la característica. To receive notification of latest comments posted, subscribe to Per rebre la notificació de l'última enviar comentaris, subscriure's a My Digital Life Comments RSS feed La meva vida digital Comentaris RSS or o register to receive registrar-se per rebre new comments in daily email digest. nous informes en el email diari digerir.
Custom Search

New Articles Nous articles

Incoming Search Terms for the Article Propers Termes de cerca per l'article

sql server compatibility level nivell de compatibilitat de SQL Server - -- sql server 2008 compatibility mode SQL Server 2008 el mode de compatibilitat - -- SQL Server compatibility mode El mode de compatibilitat de SQL Server - -- How do I set SQL 2005 compatibility in sQL Server 2008? Com puc configurar la compatibilitat de SQL 2005 a SQL Server 2008? - -- setting sql server compatibility mode establir el mode de compatibilitat de SQL Server - -- HOW TO SET compatiblity level for the db Com Ajustaments nivell de compatibilitat per al PP - -- set sql server 2008 to run like 2005 conjunt SQL Server 2008 com el 2005 per executar - -- sql 2008 compatibility level nivell de compatibilitat de SQL 2008 - -- sql 2005 outer join sql 2005 OUTER Join - -- sql server 2005 compatibility mode option SQL Server 2005 el mode de compatibilitat opció - -- SQL Server 2008 2005 compatibility mode SQL Server 2008 2005 mode de compatibilitat - -- sql compatibility 90 sql compatibilitat 90 - -- How to change SQL Compatibility Mode to 90 Com canviar el mode de compatibilitat de SQL a 90 - -- SQL compatibility mode El mode de compatibilitat de SQL - -- sql compatibility level sql nivell de compatibilitat - -- sql server set compatibility level la compatibilitat de SQL Server a nivell - -- SET COMPATIBILITY_LEVEL = AJUSTE COMPATIBILITY_LEVEL = - -- SET COMPATIBILITY_LEVEL AJUSTE COMPATIBILITY_LEVEL - -- sql 2008 compatibility mode sql 2008 el mode de compatibilitat - -- sql db compatibility sql db compatibilitat - -- "sql server 2000 mode" "SQL Server 2000 en mode" - -- check sql server compatibility level comprovar el nivell de compatibilitat de SQL Server - -- compatibility level sql nivell de compatibilitat de SQL - -- SQL Server Management Studio 6.5 Compatible SQL Server Management Studio 6.5 compatibles - -- SQL 2008 compatibility Compatibilitat del SQL 2008 - -- check sql server database compatability comprovar la compatibilitat de base de dades SQL Server - -- how to set compatibility level of a database in a sql server 2005 com establir un nivell de compatibilitat d'una base de dades en SQL Server 2005 - -- setting database comaptibility in sql server comaptibility establiment de bases de dades en SQL Server - -- change database compatibility mode canviar el mode de compatibilitat de base de dades - -- sql server 2008 with 2005 databases SQL Server 2008 les bases de dades amb respecte a 2005 - -- how to get current database compatibility level com base de dades actual nivell de compatibilitat - -- level SQL nivell de SQL - -- sql server 2008 visual studio 2005 compatibility SQL Server 2008 Visual Studio 2005 compatibilitat - -- sql server 2008 2005 compatibility SQL Server 2008 2005 compatibilitat - -- "windows 7" "sql server management studio" compatible "Windows 7" "SQL Server Management Studio" compatibles - -- "The query uses non-ANSI outer join operators ("*=" or "=*"). To run this query without modification, please set the compatibility level for current database to 80 or lower, using stored procedure sp_dbcmptlevel. It is strongly recommended to rewrite the query using ANSI outer join operators (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." "La consulta utilitza la no-ANSI outer join operadors ("*=" o "=*"). Per executar aquesta consulta sense modificacions, si us plau, defineixi el nivell de compatibilitat de base de dades actual a 80 o inferior, usant sp_dbcmptlevel procediment emmagatzemat. És molt recomanar tornar a escriure la consulta utilitzant ANSI outer join operadors (LEFT OUTER Join, OUTER Join DRET). En les futures versions de SQL Server, no unir-se als operadors ANSI no es recolza fins i tot en els modes de compatibilitat cap enrere. " - -- change sql server 2005 administrator canvi d'administrador de SQL Server 2005 - -- change compatibility level from sql 2000 to 2005 canvi de nivell de compatibilitat de SQL 2000 a 2005 - -- change compatibility level sql 2000 db to 2005 canvi de nivell de compatibilitat de base de dades SQL 2000 a 2005 - -- compatibility sql compatibilitat sql - -- compatibility level 80 sql server 2000 80 nivell de compatibilitat de SQL Server 2000 - -- compatibility of sql server 2005 with sql server 2008 compatibilitat de SQL Server 2005 amb SQL Server 2008 - -- db compatibility level of sql nivell de compatibilitat de base de dades sql - -- outer join sql server ansi OUTER Join d'SQL Server ansi - -- server 2008 disable unblock "compatibility issue" Server 2008 desactivar desbloquejar "problema de compatibilitat" - -- set compatibility for sql to 80 la compatibilitat de SQL a 80 - -- set SQL compatibility level back establir de nou nivell de compatibilitat de SQL - -- Setting database option COMPATIBILITY_LEVEL to 100 Configuració de la base de dades opció COMPATIBILITY_LEVEL a 100 - -- SET COMPATIBILITY LEVEL of database 2008 La compatibilitat de nivell de base de dades 2008 - -- set compatible sql server 2008 conjunt compatibles SQL Server 2008 - --