Как проверить совместимость базы данных SQL Server после того, как sp_dbcmptlevel устарел?
В соответствии с BOL (Электронная документация по SQL Server) на sp_dbcmptlevel
,
Эта функция будет удалена в будущей версии Microsoft SQL Server. Не используйте эту функцию в новых разработках и не изменяйте приложения, которые в настоящее время используют эту функцию как можно скорее. Вместо этого используйте уровень совместимости ALTER DATABASE.
Теперь единственный способ TSQL, который я знаю для проверки совместимости с базой данных, - это sp_dbcmptlevel
.
Насколько мне известно, ALTER DATABASE Compatibility Level
предназначен только для настройки уровня совместимости, а не получения информации.
Как получить уровень совместимости без использования GUI?
Ответы
Ответ 1
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
Ответ 2
select compatibility_level from sys.databases where name ='myDB'
Ответ 3
Думал, что это будет полезно здесь...
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
Ответ 4
Я хочу добавить ответ из msdn:
USE AdventureWorks2012;
GO
SELECT compatibility_level
FROM sys.databases WHERE name = 'AdventureWorks2012';
GO
https://msdn.microsoft.com/en-us/library/bb933794.aspx
Ответ 5
- изменить его
EXEC sp_dbcmptlevel 'db_name', 130