适用范围:SQL Server
将某些数据库行为设置为与指定的 SQL Server 版本兼容。
重要
在 SQL Server的未来版本中将删除此功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 改用 ALTER DATABASE (Transact-SQL)兼容性等级 。
语法
sys.sp_dbcmptlevel
[ [ @dbname = ] N'dbname' ]
[ , [ @new_cmptlevel = ] new_cmptlevel OUTPUT ]
[ ; ]
参数
[ @dbname = ] N'dbname'
要更改兼容级别的数据库的名称。 数据库名称必须符合标识符的规则。
@dbname为 sysname,默认值为 NULL.
[ @new_cmptlevel = ] new_cmptlevel 输出
要使数据库与之兼容的 SQL Server 版本。
@new_cmptlevel 是一个 OUTPUT 类型为 tinyint 的参数,必须是以下值之一:
-
90= SQL Server 2005 (9.x) -
100= SQL Server 2008 (10.0.x) -
110= SQL Server 2012 (11.x) -
120= SQL Server 2014 (12.x) -
130= SQL Server 2016 (13.x) -
140= SQL Server 2017 (14.x) -
150= SQL Server 2019 (15.x) -
160= SQL Server 2022 (16.x)
返回代码值
0(成功)或 1(失败)。
结果集
如果未指定任何参数,或者 未指定@dbname 参数, sp_dbcmptlevel 则返回错误。
如果未指定@new_cmptlevel@dbname,数据库引擎将返回显示指定数据库的当前兼容级别的消息。
注解
关于兼容性水平的描述,请参见 ALTER DATABASE (Transact-SQL)兼容性水平。
权限
只有数据库所有者、sysadmin 固定服务器角色的成员和db_owner固定数据库角色(如果要更改当前数据库)才能执行此过程。