contained database authentication (サーバー構成オプション)

適用対象:SQL Server

contained database authentication オプションを使用して、SQL Server データベース エンジンのインスタンス上で包含データベースを有効にします。

このサーバー オプションでは、 contained database authenticationを制御できます。

  • インスタンスで contained database authentication がオフ (0) の場合、包含データベースを作成したりデータベース エンジンにアタッチしたりすることはできません。

  • インスタンスで contained database authentication がオン (1) の場合、包含データベースを作成したりデータベース エンジンにアタッチしたりすることができます。

包含データベースには、すべてのデータベース設定と、データベースを定義するために必要なメタデータが含まれており、データベースがインストールされているデータベース エンジンのインスタンスに対する構成上の依存関係がありません。 ユーザーは、データベース エンジン レベルでのログイン認証なしでデータベースに接続できます。 データベース エンジンからデータベースを分離すると、SQL Server の他のインスタンスにデータベースを簡単に移動できるようになります。 すべてのデータベース設定をデータベースに含めることによって、データベース所有者はデータベースのすべての構成設定を管理できるようになります。 包含データベースの詳細については、「 Contained Databases」をご覧ください。

Note

SQL Database と Azure Synapse Analytics の場合、包含データベースは常に有効であり、無効にすることはできません。

SQL Server インスタンスに包含データベースが存在する場合、contained database authentication の設定は RECONFIGURE WITH OVERRIDE ステートメントを使用して 0 に設定できます。 contained database authentication を 0 に設定すると、包含データベースに対して contained database authentication が無効になります。

重要

包含データベースを有効にすると、ALTER ANY USER アクセス許可を持つデータベース ユーザー (db_owner および db_accessadmin データベース ロールのメンバーなど) は、データベースへのアクセスが許可されます。そうすることで、SQL Server のインスタンスへのアクセスが許可されます。 これは、サーバーへのアクセスの制御は sysadmin および securityadmin 固定サーバー ロールのメンバー、およびサーバー レベルでの管理 CONTROL SERVER および ALTER ANY LOGIN 権限によるログインに制限されなくなることを意味します。 包含データベースを許可する前に、包含データベースに関連するリスクを理解する必要があります。 詳細については、「 Security Best Practices with Contained Databases」を参照してください。

次の例では、データベース エンジンのインスタンスで包含データベースを有効にします。

sp_configure 'contained database authentication', 1;  
GO  
RECONFIGURE;  
GO  

参照

sp_configure (Transact-SQL)
RECONFIGURE (Transact-SQL)
サーバー構成オプション (SQL Server)