cross db ownership chaining サーバー構成オプションcross db ownership chaining Server Configuration Option

適用対象: ○SQL Server XAzure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

cross db ownership chaining オプションは、 MicrosoftMicrosoft SQL ServerSQL Serverのインスタンスに対して、複数データベースの組み合わせ所有権を構成するために使用します。Use the cross db ownership chaining option to configure cross-database ownership chaining for an instance of MicrosoftMicrosoft SQL ServerSQL Server.

このサーバー オプションを使用すると、次に示すように、データベース レベルで複数データベースの組み合わせ所有権を制御したり、すべてのデータベースに複数データベースの組み合わせ所有権を許可できるようになります。This server option allows you to control cross-database ownership chaining at the database level or to allow cross-database ownership chaining for all databases:

  • インスタンスの cross db ownership chaining がオフ (0) になっていると、複数データベースの組み合わせ所有権はすべてのデータベースで無効になります。When cross db ownership chaining is off (0) for the instance, cross-database ownership chaining is disabled for all databases.

  • インスタンスの cross db ownership chaining がオン (1) になっていると、複数データベースの組み合わせ所有権はすべてのデータベースで有効になります。When cross db ownership chaining is on (1) for the instance, cross-database ownership chaining is on for all databases.

  • ALTER DATABASE ステートメントの SET 句を使用すると、個別のデータベースに複数データベースの組み合わせ所有権を設定できます。You can set cross-database ownership chaining for individual databases using the SET clause of the ALTER DATABASE statement. 新しいデータベースを作成する場合、CREATE DATABASE ステートメントを使用すると、新しいデータベースに複数データベースの組み合わせ所有権オプションを設定できます。If you are creating a new database, you can set the cross-database ownership chaining option for the new database using the CREATE DATABASE statement.

    cross db ownership chaining を 1 に設定することはお勧めしません。この設定を行う場合は、 SQL ServerSQL Server のインスタンスによってホストされているすべてのデータベースが複数データベースの組み合わせ所有権に参加する必要があります。また、この設定がセキュリティに与える影響も理解しておく必要があります。Setting cross db ownership chaining to 1 is not recommended unless all of the databases hosted by the instance of SQL ServerSQL Server must participate in cross-database ownership chaining and you are aware of the security implications of this setting.

複数データベースの組み合わせ所有権の現在の状態を確認するには、次のクエリを実行します。To determine the current status of cross-database ownership chaining, execute the following query:

SELECT is_db_chaining_on, name FROM sys.databases;

結果が 1 の場合は、複数データベースの組み合わせ所有権が有効になっていることを示します。A result of 1 indicates that cross-database ownership chaining is enabled.

複数データベースの組み合わせ所有権の制御Controlling Cross-Database Ownership Chaining

複数データベースの組み合わせ所有権のオンとオフを切り替える前に、次の項目について検討する必要があります。Before turning cross-database ownership chaining on or off, consider the following:

  • 複数データベースの組み合わせ所有権のオンとオフを切り替えるには、 sysadmin 固定サーバー ロールのメンバーである必要があります。You must be a member of the sysadmin fixed server role to turn cross-database ownership chaining on or off.

  • 実稼動サーバーで複数データベースの組み合わせ所有権をオフにするには、サード パーティのアプリケーションを含むすべてのアプリケーションを十分にテストし、この変更がアプリケーションの機能に影響を与えないことを確認します。Before turning off cross-database ownership chaining on a production server, fully test all applications, including third-party applications, to ensure that the changes do not affect application functionality.

  • sp_configure で RECONFIGURE を指定すると、サーバーの実行中に cross db ownership chainingオプションを変更できます。You can change the cross db ownership chaining option while the server is running if you specify RECONFIGURE with sp_configure.

  • 複数データベースの組み合わせ所有権が必要なデータベースがある場合、推奨される操作としては、まず sp_configure を使用してインスタンスの cross db ownership chainingオプションをオフにします。次に、ALTER DATABASE ステートメントを使用し、個別のデータベースの複数データベースの組み合わせ所有権をオンにします。If you have databases that require cross-database ownership chaining, the recommended practice is to turn off the cross db ownership chaining option for the instance using sp_configure; then turn on cross-database ownership chaining for individual databases that require it using the ALTER DATABASE statement.

参照See Also

ALTER DATABASE (Transact-SQL) ALTER DATABASE (Transact-SQL)
CREATE DATABASE (SQL Server Transact-SQL) CREATE DATABASE (SQL Server Transact-SQL)
サーバー構成オプション (SQL Server) Server Configuration Options (SQL Server)
sp_configure (Transact-SQL) sp_configure (Transact-SQL)
RECONFIGURE (Transact-SQL)RECONFIGURE (Transact-SQL)