如何检查sp_dbcmptlevel之后的SQL Server数据库兼容性?

根据sp_dbcmptlevel上的BOL(SQL Server联机丛书)

此function将在未来版本的Microsoft SQL Server中删除。 不要在新的开发工作中使用这个特性,并尽快修改当前使用这个特性的应用。 改为使用ALTER DATABASE兼容级别。

现在,我知道检查数据库兼容性的唯一TSQL方法是通过sp_dbcmptlevel 。 据我所知, ALTER DATABASE Compatibility Level只是设置兼容级别,而不是获取信息。

如何在不使用GUI的情况下获得兼容级别?

 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' END from sys.databases 
 select compatibility_level from sys.databases where name ='myDB' 

认为这将是有用的在这里…

 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 

我想从msdn中添加答案:

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

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