sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo cambiar el nivel de compatibilidad de una base de datos con T-SQL

En SQL Server, puede usar ALTER DATABASE instrucción para cambiar el nivel de compatibilidad de una base de datos.

Esto puede ser útil si tiene una base de datos que se creó en una versión anterior de SQL Server, pero ahora necesita usar funciones que solo están disponibles con un nivel de compatibilidad posterior.

Por ejemplo, OPENJSON() La función solo está disponible con el nivel de compatibilidad 130 o superior. Si bien su instalación de SQL Server puede admitir este nivel de compatibilidad, aún podría tener bases de datos que usen un nivel de compatibilidad más bajo. En este caso, si desea utilizar OPENJSON() contra esas bases de datos, necesitaría aumentar el nivel de compatibilidad a 130 o más.

Ejemplo

Este es un ejemplo de código que cambia la compatibilidad de una base de datos.

ALTER DATABASE Pets  
SET COMPATIBILITY_LEVEL = 150;

Resultado:

Commands completed successfully.

La base de datos llamada Pets ahora tiene un nivel de compatibilidad de 150.

Verifique el nivel de compatibilidad de su base de datos

Puede usar sys.databases vista de catálogo del sistema para verificar la compatibilidad de una base de datos determinada o de todas las bases de datos.

Este es un ejemplo de verificación de Pets base de datos.

SELECT compatibility_level
FROM sys.databases
WHERE name = 'Pets';

Resultado:

+-----------------------+
| compatibility_level   |
|-----------------------|
| 150                   |
+-----------------------+

Niveles de compatibilidad por producto

Aquí hay una tabla que muestra los niveles de compatibilidad compatibles con cada edición de SQL Server y Azure SQL Database.

Producto Versión del motor de base de datos Designación de nivel de compatibilidad predeterminada Valores de nivel de compatibilidad admitidos
Servidor SQL 2019 (15.x) 15 150 150, 140, 130, 120, 110, 100
Servidor SQL 2017 (14.x) 14 140 140, 130, 120, 110, 100
Base de datos Azure SQL 12 150 150, 140, 130, 120, 110, 100
Instancia administrada de Azure SQL Database 12 150 150, 140, 130, 120, 110, 100
Servidor SQL 2016 (13.x) 13 130 130, 120, 110, 100
Servidor SQL 2014 (12.x) 12 120 120, 110, 100
Servidor SQL 2012 (11.x) 11 110 110, 100, 90
Servidor SQL 2008 R2 10,5 100 100, 90, 80
Servidor SQL 2008 10 100 100, 90, 80
Servidor SQL 2005 (9.x) 9 90 90, 80
Servidor SQL 2000 (8.x) 8 80 80