レプリケーションに対して外部キー制約を無効にする方法Disable Foreign Key Constraints for Replication

適用対象:Applies to: はいSQL Server 2016 (13.x)SQL Server 2016 (13.x)yesSQL Server 2016 (13.x)SQL Server 2016 (13.x) 以降 はいAzure SQL データベースAzure SQL DatabaseYesAzure SQL データベースAzure SQL Database はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance はいAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics はいParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse適用対象:Applies to: はいSQL Server 2016 (13.x)SQL Server 2016 (13.x)yesSQL Server 2016 (13.x)SQL Server 2016 (13.x) and later はいAzure SQL データベースAzure SQL DatabaseYesAzure SQL データベースAzure SQL Database はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance はいAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics はいParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse

SQL Server 2019 (15.x)SQL Server 2019 (15.x) では、 SQL Server Management StudioSQL Server Management Studio または Transact-SQLTransact-SQLを使用して、レプリケーションに対する外部キー制約を無効にできます。You can disable foreign key constraints for replication in SQL Server 2019 (15.x)SQL Server 2019 (15.x) by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. これは、以前のバージョンの SQL ServerSQL Serverからのデータをパブリッシュする場合に便利です。This can be useful if you are publishing data from a previous version of SQL ServerSQL Server.

注意

レプリケーションを使用してテーブルをパブリッシュした場合、レプリケーション エージェントが実行する操作については外部キー制約が自動的に無効になります。If a table is published using replication, foreign key constraints are automatically disabled for operations performed by replication agents. レプリケーション エージェントがサブスクライバー側で挿入、更新、または削除を実行した場合、制約のチェックは行われません。ユーザーが挿入、更新、または削除を実行した場合は、制約のチェックが行われます。When a replication agent performs an insert, update, or delete at a Subscriber, the constraint is not checked; if a user performs an insert, update, or delete, the constraint is checked. 制約がレプリケーション エージェントに対して無効になるのは、データが最初に挿入、更新、または削除された際に、発行者側で既に制約がチェックされているためです。The constraint is disabled for the replication agent because the constraint was already checked at the Publisher when the data was originally inserted, updated, or deleted.

このトピックの内容In This Topic

はじめにBefore You Begin

セキュリティSecurity

PermissionsPermissions

テーブルに対する ALTER 権限が必要です。Requires ALTER permission on the table.

SQL Server Management Studio の使用Using SQL Server Management Studio

レプリケーションに対して外部キー制約を無効にするにはTo disable a foreign key constraint for replication

  1. オブジェクト エクスプローラーで、変更する外部キー制約が含まれているテーブルを展開し、 [キー] フォルダーを展開します。In Object Explorer, expand the table with the foreign key constraint you want to modify, and then expand the Keys folder.

  2. 外部キー制約を右クリックし、 [変更] をクリックします。Right-click the foreign key constraint and then click Modify.

  3. [外部キーのリレーションシップ] ダイアログ ボックスで、 [レプリケーションに対して適用] の値として [いいえ] を選択します。In the Foreign Key Relationships dialog box, select a value of No for Enforce For Replication.

  4. [閉じる] をクリックします。Click Close.

Transact-SQL の使用Using Transact-SQL

レプリケーションに対して外部キー制約を無効にするにはTo disable a foreign key constraint for replication

  1. Transact-SQLTransact-SQLでこの作業を実行するには、外部キー制約を削除します。To perform this task in Transact-SQLTransact-SQL, drop the foreign key constraint. 次に、新しい外部キー制約を追加し、NOT FOR REPLICATION オプションを指定します。Then add a new foreign key constraint and specify the NOT FOR REPLICATION option.

詳細については、「ALTER TABLE (Transact-SQL)」を参照してください。For more information, see ALTER TABLE (Transact-SQL).