Compartir a través de


sp_dbcmptlevel (Transact-SQL)

Se aplica a: SQL Server

Establece determinados comportamientos de base de datos para que sean compatibles con la versión especificada de SQL Server.

Importante

Esta característica se quitará en una versión futura de SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan. En su lugar, use el nivel de compatibilidad de ALTER DATABASE (Transact-SQL).

Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_dbcmptlevel
    [ [ @dbname = ] N'dbname' ]
    [ , [ @new_cmptlevel = ] new_cmptlevel OUTPUT ]
[ ; ]

Argumentos

[ @dbname = ] N'dbname'

Nombre de la base de datos para la que se va a cambiar el nivel de compatibilidad. Los nombres de base de datos deben cumplir las reglas de los identificadores. @dbname es sysname, con un valor predeterminado de NULL.

[ @new_cmptlevel = ] new_cmptlevel OUTPUT

La versión de SQL Server con la que se va a hacer compatible la base de datos. @new_cmptlevel es un parámetro OUTPUT de tipo tinyint y debe ser uno de los siguientes valores:

  • 90 = SQL Server 2005 (9.x)
  • 100 = SQL Server 2008 (10.0.x)
  • 110 = SQL Server 2012 (11.x)
  • 120 = SQL Server 2014 (12.x)
  • 130 = SQL Server 2016 (13.x)
  • 140 = SQL Server 2017 (14.x)
  • 150 = SQL Server 2019 (15.x)
  • 160 = SQL Server 2022 (16.x)

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Conjunto de resultados

Si no se especifica ningún parámetro o si no se especifica el parámetro @dbname , sp_dbcmptlevel devuelve un error.

Si @dbname se especifica sin @new_cmptlevel, el Motor de base de datos devuelve un mensaje que muestra el nivel de compatibilidad actual de la base de datos especificada.

Comentarios

Para obtener una descripción de los niveles de compatibilidad, consulte Nivel de compatibilidad de ALTER DATABASE (Transact-SQL).

Permisos

Solo el propietario de la base de datos, los miembros del rol fijo de servidor sysadmin y el rol fijo de base de datos db_owner (si va a cambiar la base de datos actual) puede ejecutar este procedimiento.