Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment modifier le niveau de compatibilité d'une base de données avec T-SQL

Dans SQL Server, vous pouvez utiliser le ALTER DATABASE déclaration pour modifier le niveau de compatibilité d'une base de données.

Cela peut être utile si vous avez une base de données qui a été créée dans une version antérieure de SQL Server, mais que vous devez maintenant utiliser des fonctionnalités qui ne sont disponibles qu'avec un niveau de compatibilité ultérieur.

Par exemple, le OPENJSON() la fonction est disponible uniquement sous le niveau de compatibilité 130 ou supérieur. Bien que votre installation SQL Server puisse prendre en charge ce niveau de compatibilité, vous pouvez toujours avoir des bases de données qui utilisent un niveau de compatibilité inférieur. Dans ce cas, si vous vouliez utiliser OPENJSON() par rapport à ces bases de données, vous devez augmenter le niveau de compatibilité à 130 ou plus.

Exemple

Voici un exemple de code qui modifie la compatibilité d'une base de données.

ALTER DATABASE Pets  
SET COMPATIBILITY_LEVEL = 150;

Résultat :

Commands completed successfully.

La base de données appelée Pets a maintenant un niveau de compatibilité de 150.

Vérifiez le niveau de compatibilité de votre base de données

Vous pouvez utiliser les sys.databases vue du catalogue système pour vérifier la compatibilité d'une base de données donnée ou de toutes les bases de données.

Voici un exemple de vérification des Pets base de données.

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

Résultat :

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

Niveaux de compatibilité par produit

Voici un tableau qui montre les niveaux de compatibilité pris en charge par chaque édition de SQL Server et Azure SQL Database.

Produit Version du moteur de base de données Désignation du niveau de compatibilité par défaut Valeurs de niveau de compatibilité prises en charge
SQL Server 2019 (15.x) 15 150 150, 140, 130, 120, 110, 100
SQL Server 2017 (14.x) 14 140 140, 130, 120, 110, 100
Base de données SQL Azure 12 150 150, 140, 130, 120, 110, 100
Instance gérée de la base de données SQL Azure 12 150 150, 140, 130, 120, 110, 100
SQL Server 2016 (13.x) 13 130 130, 120, 110, 100
SQL Server 2014 (12.x) 12 120 120, 110, 100
SQL Server 2012 (11.x) 11 110 110, 100, 90
SQL Server 2008 R2 10.5 100 100, 90, 80
SQL Server 2008 10 100 100, 90, 80
SQL Server 2005 (9.x) 9 90 90, 80
SQL Server 2000 (8.x) 8 80 80