数据库兼容性级别

时间:2018-12-11 08:14:56

标签: sql sql-server database

我看到了一种我无法解释的情况,我告诉大家可以给我一个有关其原因的线索。

我有一个非常“未优化”的查询,该查询是由我们的一位客户根据客户的电子邮件编写的,它在不到30秒的时间内运行,然后我将数据库兼容性级别更改为2016。等待了2个多小时,但此查询没有任何结果。经过艰苦的努力,我将数据库的兼容级别改回了2008年,一切都恢复了原样。

任何身体,有什么想法吗?请!

非常感谢...

1 个答案:

答案 0 :(得分:0)

SQL Server 2016的数据库兼容性级别为130,而SQL Server 2008的数据库兼容性级别为100。

以下是有关兼容性级别之间差异的链接:

ALTER DATABASE(Transact-SQL)兼容性级别:

https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-database-transact-sql-compatibility-level?view=sql-server-2017#differences-between-compatibility-level-130-and-level-140

我们不知道您的查询。因此,我想也许您的数据库是在兼容性级别100上创建的。将兼容性级别更改为130并运行查询时,就会发生此问题。

兼容性级别仅影响指定数据库的行为,而不影响整个服务器。

希望对您有所帮助。