適用対象: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 は tinyint 型の OUTPUT パラメータであり、以下のいずれかの値でなければなりません。
-
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 はエラーを返します。
@dbnameが@new_cmptlevelなしで指定されている場合、データベース エンジンは、指定されたデータベースの現在の互換性レベルを示すメッセージを返します。
解説
互換性レベルの説明については、 ALTER DATABASE (Transact-SQL)適合性レベルを参照してください。
アクセス許可
この手順を実行できるのは、データベース所有者、 sysadmin 固定サーバー ロールのメンバー、および固定データベース ロール db_owner (現在のデータベースを変更する場合) だけです。