web-dev-qa-db-ja.com

sp_dbcmptlevelが廃止された後、SQL Serverデータベースの互換性を確認する方法

BOL(SQL Server Books Online)による sp_dbcmptlevel

この機能は、Microsoft SQL Serverの将来のバージョンで削除される予定です。新しい開発作業でこの機能を使用しないでください。また、現在この機能を使用しているアプリケーションをできるだけ早く変更してください。代わりにALTER DATABASE Compatibility Levelを使用してください。

現在、データベースの互換性を確認する唯一のTSQL方法は、sp_dbcmptlevel。私の知る限りでは、 - ALTER DATABASE Compatibility Level は、setting互換性レベルのためのものであり、情報は取得しません。

GUIを使用せずに互換性レベルを取得するにはどうすればよいですか?

50
Sung M. Kim
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
96
Nick Kavadias
select compatibility_level from sys.databases where name ='myDB'
15
mjv

これはここで役立つと思います...

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
5
sam yi

SQL Serverデータベースの互換性を確認する方法

 
 SELECT互換性レベルを[現在の互換性レベル] FROM 
 sys.databases WHERE名= 'データベース名'; 
 
1
user6341745

Msdnから回答を追加したい:

USE AdventureWorks2012;
GO
SELECT compatibility_level
FROM sys.databases WHERE name = 'AdventureWorks2012';
GO

https://msdn.Microsoft.com/en-us/library/bb933794.aspx

1
Jacky