How to Set Compatibility Level for SQL Server 2008 or 2005 Database Cómo configurar nivel de compatibilidad para SQL Server 2008 o 2005 Base de datos

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: Al seleccionar los datos o la realización de la consulta sobre Microosft SQL Server 2008 o SQL Server 2005 base de datos, el siguiente mensaje de error o el fracaso puede ser devuelto:

[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, Nivel 15, Estado 1, Línea 4] La consulta utiliza la no-ANSI outer join operadores ("*=" 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. Para ejecutar esta consulta sin modificaciones, por favor, defina el nivel de compatibilidad de base de datos actual a 80, utilizando la sentencia SET COMPATIBILITY_LEVEL opción de ALTER DATABASE. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). Se recomienda encarecidamente a reescribir la consulta utilizando ANSI outer join operadores (LEFT OUTER JOIN, OUTER JOIN DERECHO). In the future versions En las versiones futuras
of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. de SQL Server, no unirse a los operadores ANSI no se apoya incluso en los modos de compatibilidad hacia atrás.


or, o,

Msg 4147, Level 15, State 1, Line 3 Mensaje 4147, Nivel 15, Estado 1, Línea 3
The query uses non-ANSI outer join operators (”*=” or “=*”). La consulta utiliza la no-ANSI outer join operadores ("*=" o "=*"). To run this query without modification, please set the compatibility level for current database to 80 or lower, using stored procedure sp_dbcmptlevel. Para ejecutar esta consulta sin modificaciones, por favor, defina el nivel de compatibilidad de base de datos actual a 80 o inferior, usando sp_dbcmptlevel procedimiento almacenado. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). Se recomienda encarecidamente a reescribir la consulta utilizando ANSI outer join operadores (LEFT OUTER JOIN, OUTER JOIN DERECHO). In the future versions of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. En el futuro, las versiones de SQL Server, no unirse a los operadores ANSI no se apoya incluso en los modos de compatibilidad hacia atrás.

The error happens because Microsoft has dropped support for and eliminated old-style *= and =* outer join operators. El error ocurre porque Microsoft ha disminuido el apoyo y eliminado la antigua usanza y *= =* exterior unirse operadores.

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. Con el fin de solucionar el error anterior de SQL Server, DB administrador tiene que configurar la base de datos a nivel de compatibilidad 80, que equivale a SQL Server 2000 como una solución 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. Por supuesto, la mejor solución es modificar las consultas SQL o código para eliminar el viejo estilo de unirse con los actuales operadores de unirse a la sintaxis SQL estándar.

For example, SQL query below is not valid: Por ejemplo, debajo de la consulta SQL no es 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: Y debe ser reemplazado con el siguiente código:

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 siguiente declaración abreviada 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. Para el administrador que no pueden cambiar el código, la mejor solución es volver a la compatibilidad a nivel de la base de datos con el fin de proporcionar compatibilidad con versiones anteriores a la antigua usanza une. 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 procedimientos almacenados (obsoleto), o de Transact-SQL puede ser usado para fijar determinados (en parte, no todas) de base de datos de conductas para ser compatible con la versión anterior de SQL Server. This Esto MSDN article El artículo de MSDN provides overview on what behaviors are changed on each compatibility level. visión general de lo que establece conductas se cambian en cada nivel de compatibilidad.

Version of SQL Server that can be reverted to can be one of the following: Versión de SQL Server que puede ser vuelto a ser uno de los siguientes:

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 nivel de compatibilidad de 60, 65, y 70 no estén disponibles en SQL Server 2008. And future version of SQL Server will support only two (2) prior version of backward compatibility. Y la futura versión de SQL Server apoyará sólo dos (2) antes de la versión de compatibilidad con versiones anteriores. A database containing an indexed view cannot be changed to a compatibility level lower than 80. Una base de datos con un indexado vista no se puede cambiar a un nivel de compatibilidad 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. También se toman nota de que cuando una base de datos está configurado en modo de compatibilidad hacia atrás-, algunas de las nuevas funcionalidades se pueden perder, como SQL CLR SSMS y esquemas de apoyo para la base de datos. Beside, the compatibility mode affects behaviors only for the specified database, not for the entire server. Al lado de, el modo de compatibilidad sólo afecta a los comportamientos de la base de datos especificada, no para todo el servidor.

Steps to Change and Set Compatibility Level of A Database in SQL Server Pasos para el Cambio y el nivel de compatibilidad de base de datos en SQL Server

The following SQL commands can be issued in SQL Server Management Studio Query window. Los siguientes comandos SQL pueden emitirse en SQL Server Management Studio Consulta ventana. Remember to execute Go after each command. Recordar Ir a ejecutar después de cada comando.

  1. Optional: Set the database to single user access mode: Opcional: Configure la base de datos para usuario único modo de acceso:

    ALTER DATABASE database_name SET SINGLE_USER;

  2. Set the database compatibility level to one of the earlier version stated above: Establezca la base de datos a un nivel de compatibilidad de la versión anterior ya se ha dicho:

    Transact-SQL Method Método de Transact-SQL

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

    For example, Por ejemplo,

    ALTER DATABASE my_db SET COMPATIBILITY_LEVEL = 80 ALTER DATABASE my_db CONJUNTO COMPATIBILITY_LEVEL = 80

    sp_dbcmptlevel Stored Procedure Method Método sp_dbcmptlevel procedimiento almacenado

    EXEC sp_dbcmptlevel database_name, compatibility_level value;

    For example, Por ejemplo,

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

  3. Optional: Put back the database in multiuser access mode: Opcional: Poner de nuevo la base de datos en modo de acceso multiusuario:

    ALTER DATABASE database_name SET MULTI_USER;

IMPORTANT : The page is machine translated and provided "as is" without warranty. IMPORTANTE: La página está traducida máquina y proporciona "tal cual" sin garantía. Machine translation may be difficult to understand. La traducción automática puede resultar difícil de entender. Please refer to Por favor, consulte original English article artículo original Inglés whenever possible. siempre que sea posible.


Leave a Reply Deje una contestación

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> Usted puede utilizar estas etiquetas: <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. Suscribirse a los comentarios Se ha desactivado la característica. To receive notification of latest comments posted, subscribe to Para recibir la notificación de la última envió comentarios, suscribirse a My Digital Life Comments RSS feed Mi vida digital Comentarios RSS or o register to receive registrarse para recibir new comments in daily email digest. nuevos comentarios en el email diario digerir.
Custom Search

New Articles Nuevos artículos

Incoming Search Terms for the Article Próximos Términos de búsqueda para el artículo

The query uses non-ANSI outer join operators ("*=" or "=*"). La consulta utiliza la no-ANSI outer join operadores ("*=" o "=*"). To run this query without modification, please set the compatibility level for current database to 80 or lower, using stored procedure sp_dbcmptlevel. Para ejecutar esta consulta sin modificaciones, por favor, defina el nivel de compatibilidad de base de datos actual a 80 o inferior, usando sp_dbcmptlevel procedimiento almacenado. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). Se recomienda encarecidamente a reescribir la consulta utilizando ANSI outer join operadores (LEFT OUTER JOIN, OUTER JOIN DERECHO). In the future versions of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. En el futuro, las versiones de SQL Server, no unirse a los operadores ANSI no se apoya incluso en los modos de compatibilidad hacia atrás. - -- sql server 2008 compatibility mode SQL Server 2008 el modo de compatibilidad - -- sql server compatibility level nivel de compatibilidad de SQL Server - -- The query uses non-ANSI outer join operators ("*=" or "=*"). La consulta utiliza la no-ANSI outer join operadores ("*=" 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. Para ejecutar esta consulta sin modificaciones, por favor, defina el nivel de compatibilidad de base de datos actual a 80, utilizando la sentencia SET COMPATIBILITY_LEVEL opción de ALTER DATABASE. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). Se recomienda encarecidamente a reescribir la consulta utilizando ANSI outer join operadores (LEFT OUTER JOIN, OUTER JOIN DERECHO). In the future versions of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. En el futuro, las versiones de SQL Server, no unirse a los operadores ANSI no se apoya incluso en los modos de compatibilidad hacia atrás. - -- sql 2005 compatibility mode sql 2005 el modo de compatibilidad - -- SQL compatibility level Nivel de compatibilidad de SQL - -- compatibility level sql server nivel de compatibilidad de SQL Server - -- sql compatibility mode sql el modo de compatibilidad - -- sql 2005 compatibility level nivel de compatibilidad de SQL 2005 - -- SET COMPATIBILITY_LEVEL AJUSTE COMPATIBILITY_LEVEL - -- database compatibility mode is set to 90 base de datos de modo de compatibilidad se establece en 90 - -- sql backward compatibility with 2008 compatibilidad con SQL 2008 - -- sql server 2008 compatibility level SQL Server 2008 nivel de compatibilidad - -- sql server 2005 compatibility level SQL Server 2005 nivel de compatibilidad - -- sql server set compatibility level la compatibilidad de SQL Server a nivel - -- Setting database option COMPATIBILITY_LEVEL to 100 for database Configuración de base de datos opción COMPATIBILITY_LEVEL a 100 para la base de datos - -- sql server compatibility levels niveles de compatibilidad de SQL Server - -- PLEASE SET THE COMPATIBILITY LEVEL FOR CURRENT DATABASE TO 80 OR lower AJUSTE POR FAVOR LA COMPATIBILIDAD DE NIVEL ACTUAL DE LA BASE DE DATOS O inferior a 80 - -- check compatibility level in sql server 2008 comprobar nivel de compatibilidad en SQL Server 2008 - -- sql server 2008 2005 mode SQL Server 2008 2005 modo - -- sql serveer 2005 SET COMPATIBILITY_LEVEL sql serveer 2005 CONJUNTO COMPATIBILITY_LEVEL - -- database compatibility level base de datos de nivel de compatibilidad - -- how to set cómo configurar - -- set compatibility level sql 2005 nivel de compatibilidad de SQL 2005 - -- sql server 2008 compatibility SQL Server 2008 compatibilidad - -- please set the compatibility level for current database to 80 ponga el nivel de compatibilidad de base de datos actual a 80 - -- set compatibility_level option of alter database conjunto compatibility_level opción de modificar la base de datos - -- sql 2008 compatibility mode sql 2008 el modo de compatibilidad - -- sql compatibility mode 80 sql el modo de compatibilidad 80 - -- MS SQL 2008 server to run SQL 2005 database compatibility mode MS SQL 2008 para ejecutar el servidor SQL 2005 base de datos de modo de compatibilidad - -- Set Compatbilty Mode SQl Establecer Compatbilty Modo SQL - -- sql server 2008 2005 compatibility mode SQL Server 2008 2005 modo de compatibilidad - -- compatibility level sql server 2008 nivel de compatibilidad de SQL Server 2008 - -- how to set the sql server compatibility level cómo establecer el nivel de compatibilidad de SQL Server - -- how to set compatibility level in sql server 2005 cómo establecer nivel de compatibilidad en SQL Server 2005 - -- SQL server 7.0 compatibility Compatibilidad de SQL Server 7.0 - -- SQLSERVER compatibility level SQLServer nivel de compatibilidad - -- sql 2008 compatibility mode 2005 sql 2008 el modo de compatibilidad 2005 - -- how to set compatibility level 80 of sql server 2005 cómo establecer el nivel 80 de compatibilidad de SQL Server 2005 - -- sql 2000 2005 select compatibility sql 2000 2005 seleccione compatibilidad - -- sql 2008 compatibility level nivel de compatibilidad de SQL 2008 - -- sql the option 100 for compatibility mode is not supported sql la opción 100 para el modo de compatibilidad no es compatible - -- To run this query without modification, please set the compatibility level for current database to 80 Para ejecutar esta consulta sin modificaciones, por favor, defina el nivel de compatibilidad de base de datos actual a 80 - -- please set the compatibility level for current database to 80,using the set compatibility_level option of alter database. ponga el nivel de compatibilidad de base de datos actual a 80, utilizando el conjunto compatibility_level opción de modificar la base de datos. - -- The query uses non-ANSI outer join operators ("*=" or "=*"). La consulta utiliza la no-ANSI outer join operadores ("*=" o "=*"). To run this query without modification, please set the compatibility level for current database to 80 or lower, using stored procedure sp_dbcmptlevel. Para ejecutar esta consulta sin modificaciones, por favor, defina el nivel de compatibilidad de base de datos actual a 80 o inferior, usando sp_dbcmptlevel procedimiento almacenado. It is strongly recommended to rewrite the query Se recomienda encarecidamente a reescribir la consulta - -- set sql server 2008 to 80 conjunto de SQL Server 2008-80 - -- non-ANSI outer join operators ("*=" or "=*"). no unirse a los operadores ANSI exterior ("*=" o "=*"). To run this query without modification, please set the compatibility level for current database to 80 or lower Para ejecutar esta consulta sin modificaciones, por favor, defina el nivel de compatibilidad de base de datos actual a 80 o inferior - -- changing compatibility level in sql 2008 from 2000 cambio de nivel de compatibilidad en SQL 2008 a partir de 2000 - -- setting sql compatibility establecer la compatibilidad de SQL - -- set compatibility level using sp_dbcmptlevel la compatibilidad de nivel utilizando sp_dbcmptlevel - --