Selon BOL (documentation en ligne de SQL Server) sur sp_dbcmptlevel
,
Cette fonctionnalité sera supprimée dans une future version de Microsoft SQL Server. N'utilisez pas cette fonctionnalité dans les nouveaux travaux de développement et modifiez les applications qui l'utilisent actuellement dès que possible. Utilisez plutôt le niveau de compatibilité ALTER DATABASE.
À présent, le seul moyen que je connaisse de vérifier la compatibilité de la base de données avec TSQL consiste à utiliser sp_dbcmptlevel
. Pour autant que je sache, ALTER DATABASE Compatibility Level
sert uniquement à définir le niveau de compatibilité, sans obtenir d’informations.
Comment doit-on obtenir le niveau de compatibilité sans utiliser l'interface graphique?
select name, compatibility_level , version_name =
CASE compatibility_level
WHEN 65 THEN 'SQL Server 6.5'
WHEN 70 THEN 'SQL Server 7.0'
WHEN 80 THEN 'SQL Server 2000'
WHEN 90 THEN 'SQL Server 2005'
WHEN 100 THEN 'SQL Server 2008/R2'
WHEN 110 THEN 'SQL Server 2012'
WHEN 120 THEN 'SQL Server 2014'
WHEN 130 THEN 'SQL Server 2016'
WHEN 140 THEN 'SQL Server 2017'
WHEN 150 THEN 'SQL Server 2019'
ELSE 'new unknown - '+CONVERT(varchar(10),compatibility_level)
END
from sys.databases
select compatibility_level from sys.databases where name ='myDB'
Pensé que cela serait utile ici ...
65 = SQL Server 6.5
70 = SQL Server 7.0
80 = SQL Server 2000
90 = SQL Server 2005
100 = SQL Server 2008/R2
110 = SQL Server 2012
120 = SQL Server 2014
130 = SQL Server 2016
Comment vérifier la compatibilité de la base de données SQL Server
SELECT niveau_compatibilité comme [niveau_compatibilité actuel] FROM sys.databases WHERE name = 'Nom de base de données';
J'aimerais ajouter la réponse de msdn:
USE AdventureWorks2012;
GO
SELECT compatibility_level
FROM sys.databases WHERE name = 'AdventureWorks2012';
GO