SQL Server 的兼容级别

gia*_*cum 5 sql-server sql-server-2014 cardinality-estimates

有没有办法知道我的 SQL SERVER DB 2014 中的兼容性级别是否已更改?

Ran*_*gen 10

要了解数据库的当前兼容性级别,您可以运行:

SELECT name,compatibility_level 
FROM sys.databases 
WHERE name = 'DatabaseName';
Run Code Online (Sandbox Code Playgroud)

我的 TEST 数据库的结果:

name    compatibility_level
TEST    140
Run Code Online (Sandbox Code Playgroud)

如果兼容级别发生变化,例如使用以下命令:

ALTER DATABASE TEST SET COMPATIBILITY_LEVEL = 120;
Run Code Online (Sandbox Code Playgroud)

您可以在 sql server 错误日志中找到发生的日期和时间: 在此处输入图片说明

在此处输入图片说明

或者使用以下命令读取(当前)错误日志文件xp_readerrorlog

EXEC sp_readerrorlog 0, 1, 'COMPATIBILITY_LEVEL' 
Run Code Online (Sandbox Code Playgroud)

结果

在此处输入图片说明

将第一个参数替换xp_readerrorlog为 1 以读取第二个错误日志文件,将 2替换为第三个文件,...。