Как проверить совместимость базы данных SQL Server после того, как sp_dbcmptlevel устарел?

Согласно BOL (электронная документация по SQL Server) на sp_dbcmptlevel,

Эта функция будет удалена в будущей версии Microsoft SQL Server. Не используйте эту функцию в новых разработках и как можно скорее измените приложения, которые в настоящее время используют эту функцию. Вместо этого используйте уровень совместимости ALTER DATABASE.

Единственный известный мне способ TSQL проверки совместимости базы данных — это sp_dbcmptlevel. Насколько мне известно, ALTER DATABASE Compatibility Level предназначен только для настройки< /strong> уровень совместимости, не получая информации.

Как получить уровень совместимости без использования графического интерфейса?


person dance2die    schedule 01.10.2009    source источник


Ответы (4)


Думал, здесь пригодится...

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
person sam yi    schedule 09.04.2013

Как проверить совместимость базы данных SQL Server


       SELECT compatibility_level  as [Current compatibility_level] FROM
         sys.databases WHERE name = 'Database Name';

person user6341745    schedule 07.06.2018

Я хотел бы добавить ответ от msdn:

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

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

person Jacky    schedule 23.03.2015
comment
он говорит, что у меня нет sys.databases в моей базе данных - person Billy Koswara; 12.03.2018

person    schedule
comment
Я бы добавил, что вы можете решить это, открыв SQL Server Profiler и посмотрев, что делает Management Studio. Я только что посмотрел, и внутри довольно длинного и плохо отформатированного запроса он также использует sys.databases - person MikeKulls; 20.03.2012
comment
select cmptlevel from master.dbo.sysdatabases where name = db_name() для SQL2000+, не знаю, когда это исчезнет. - person Tim Lehner; 07.09.2012