Laut BOL (SQL Server-Onlinedokumentation) unter sp_dbcmptlevel
,
Diese Funktion wird in einer zukünftigen Version von Microsoft SQL Server entfernt. Verwenden Sie diese Funktion nicht für neue Entwicklungsarbeiten und ändern Sie Anwendungen, die diese Funktion derzeit verwenden, so schnell wie möglich. Verwenden Sie stattdessen die ALTER DATABASE-Kompatibilitätsstufe.
Nun, die einzige TSQL-Methode, die ich zur Überprüfung der Datenbank-Kompatibilität kenne, ist sp_dbcmptlevel
. Soweit ich weiß, ist ALTER DATABASE Compatibility Level
nur für einstellung der Kompatibilitätsgrad, keine Informationen erhalten.
Wie sollte man den Kompatibilitätsgrad ohne GUI erreichen?
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'
Dachte, das wäre hier nützlich ...
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
So überprüfen Sie die Kompatibilität der SQL Server-Datenbank
SELECT Kompatibilitätsstufe als [Aktuelle Kompatibilitätsstufe] FROM sys.databases WHERE name = 'Datenbankname';
Ich möchte die Antwort von msdn hinzufügen:
USE AdventureWorks2012;
GO
SELECT compatibility_level
FROM sys.databases WHERE name = 'AdventureWorks2012';
GO