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

SQL Server 2012 では、SQL Server Management Studio または Transact-SQL を使用して、レプリケーションに対する外部キー制約を無効にできます。 これは、以前のバージョンの SQL Server からのデータをパブリッシュする場合に便利です。

注意

レプリケーションを使用してテーブルをパブリッシュした場合、レプリケーション エージェントが実行する操作については外部キー制約が自動的に無効になります。 レプリケーション エージェントがサブスクライバー側で挿入、更新、または削除を実行した場合、制約のチェックは行われません。ユーザーが挿入、更新、または削除を実行した場合は、制約のチェックが行われます。 制約がレプリケーション エージェントに対して無効になるのは、データが最初に挿入、更新、または削除された際に、発行者側で既に制約がチェックされているためです。

このトピックの内容

  • 作業を開始する準備:

    セキュリティ

  • 以下を使用してレプリケーションに対する外部キー制約を無効にするには

    SQL Server Management Studio

    Transact-SQL

作業を開始する準備

セキュリティ

権限

テーブルに対する ALTER 権限が必要です。

[トップに戻る] リンクで使用される矢印アイコン[Top]

SQL Server Management Studio の使用

レプリケーションに対して外部キー制約を無効にするには

  1. オブジェクト エクスプローラーで、変更する外部キー制約が含まれているテーブルを展開し、[キー] フォルダーを展開します。

  2. 外部キー制約を右クリックし、[変更] をクリックします。

  3. [外部キーのリレーションシップ] ダイアログ ボックスで、[レプリケーションに対して適用] の値として [いいえ] を選択します。

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

[トップに戻る] リンクで使用される矢印アイコン[Top]

Transact-SQL の使用

レプリケーションに対して外部キー制約を無効にするには

  • Transact-SQL でこの作業を実行するには、外部キー制約を削除します。 次に、新しい外部キー制約を追加し、NOT FOR REPLICATION オプションを指定します。

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

[トップに戻る] リンクで使用される矢印アイコン[Top]