トリガーを使用して、データベース全体の参照制約を管理する必要があります。
基本的に、挿入、更新トリガーを作成して、主キーテーブルにキーが存在することを確認します。キーが存在しない場合は、挿入または更新を元に戻してから、例外を処理します。
例:
Create Trigger dbo.MyTableTrigger ON dbo.MyTable, After Insert, Update
As
Begin
If NOT Exists(select PK from OtherDB.dbo.TableName where PK in (Select FK from inserted) BEGIN
-- Handle the Referential Error Here
END
END
編集済み: 明確にするために。これは、参照整合性を適用するための最良のアプローチではありません。理想的には、両方のテーブルを同じデータベースに配置する必要がありますが、それが不可能な場合は。次に、上記はあなたにとって潜在的な回避策です。