使用本指南,你将了解如何使用SSMS和T-SQL查询来改变SQL Server数据库的兼容性级别。
什么是SQL Server 兼容性级别?
SQL Server 兼容性级别是一个数据库功能,它允许你确保一个数据库与各种SQL Server版本兼容。默认情况下,一个数据库采用它所创建的SQL Server的兼容性级别。即使在数据库备份时也是如此。
例如,如果一个数据库是在SQL Server 2017上创建和备份的,即使你在SQL Server 2019上恢复它,其兼容性级别仍然是SQL Server 2017的。
数据库兼容性级别是一个决定数据库如何根据集和早期版本中的功能来运作的特征。使用本指南,你将学习如何修改数据库的兼容性级别。
注意:在对兼容性级别进行任何修改之前,谨慎的做法是让自己熟悉其带来的影响。
在SSMS中设置兼容性级别
现在让我们讨论如何在SQL Server中设置和改变数据库的兼容性级别。我们将使用的第一个方法是使用SSMS的图形化方法。
首先,创建一个测试数据库,如:
create database compatibility_level_db;
一旦数据库被创建,我们就可以改变或查看兼容性级别。在SSMS中,选择你的目标数据库并右键单击。选择 "属性 "选项。

在数据库属性窗口的左侧菜单中选择选项标签。你应该看到数据库的当前兼容性级别为。

要改变数据库的兼容性级别,从下拉菜单中选择你的级别。单击 "确定 "以保存更改。

在T-SQL中设置兼容性
你也可以使用事务SQL查询来查看和改变数据库的兼容性级别。
下面的查询告诉你如何查看数据库的兼容性级别。
select physical_database_name, compatibility_level from sys.databases;
上面的查询应该返回服务器中的所有数据库和它们相应的兼容性级别。
一个输出的例子如图所示:

下表显示了SQL Server的版本和它们相应的默认兼容性级别。

使用T-SQL查询改变一个数据库的兼容性级别。
alter database compatibility_level_db set compatibility_level = 150;
这个示例查询将把指定的数据库更新为150的兼容性级别。
要点:如前所述,要注意数据库的兼容性级别,因为这样做会影响数据库支持的功能。一些功能可能会被删除,而另一些则会被添加。
最后的思考
本指南涵盖了查看和修改SQL Server中数据库的兼容性级别的基本知识。