sp_dbcmptlevel (Transact-SQL)

適用対象: SQL サーバー

特定のデータベース動作を、指定されたバージョンの SQL Server と互換性を持つよう設定します。

重要

この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに、 ALTER DATABASE (Transact-SQL) 互換性レベル 使用してください。

Transact-SQL 構文表記規則

構文

sp_dbcmptlevel
    [ [ @dbname = ] N'dbname' ]
    [ , [ @new_cmptlevel = ] new_cmptlevel OUTPUT ]
[ ; ]

引数

[ @dbname = ] N'dbname'

互換性レベルを変更するデータベースの名前。 データベース名は、識別子の規則に準拠している必要があります。 @dbnamesysname で、既定値は NULL です。

[ @new_cmptlevel = ] new_cmptlevel OUTPUT

データベースの互換性の対象となる 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 (現在のデータベースを変更する場合) だけです。