2012-02-03 30 views
2

データベースAとBは2つあります。AにはtableAとcolumnAがあり、BにはcoulmnBのtableBがあります。これらの2つの列の間にプライマリ、外部キーの関係を持つことはできますか。 両方のデータベースが同じSQL Server 2008 R2インスタンスに含まれます。2つの異なるデータベース内の2つの異なる列間に外部キー関係がある

私はSql Server 2008 R2 Express Editionを使用しています。

また、これはその後、急行版で利用できない場合は、あなたのシナリオでは、企業

+0

いいえ、その不可能です:http://tackoverflow.com/a/5166741/245676 – dillenmeister

+0

いいえ、それはトリックを使用して参照整合性のHTTPを 'simluate'などのいくつかのハックのある回避策があります://stackoverflow.com/questions/1424327/foreign-keys-on-table-from-different-database – StuartLC

答えて

3

これはできませんが、カスタムメカニズムをトリガーで実装することができます。

問題です - あなたはあなたのバックアップが一致していることを言うことはできませんでした。

FOREIGN KEY制約で実装された参照整合性により、トランザクションが終了してバックアップが常に一貫していることを保証します。

異なるデータベースとトリガーベースの参照。両方のデータベースが同時にバックアップされ、一貫性のある状態であるとは言えません。

+0

それは不可能ですが、トリガーによってカスタムメカニズムを実装することができます.->私が見つけることができる例またはトーナリー。問題は - バックアップが一貫しているとは決して言い表せません - >バックアップについて理解していません – bleu

+0

http ://www.mssqltips.com/sqlservertip/1508/foreign-key-vs-trigger-referential-integrity-in-sql-server/ –

+0

http://msdn.microsoft.com/en-us/library/aa902684% 28v = sql.80%29.aspx#sql_refintegrity_topic06 –

1

などの他のエディションで、それが利用可能である、あなたは2つのデータベースを持っている - データベース間のFKを作成することも、同じSQLサーバー内で(可能ではありませんインスタンス)。

1つのデータベース内にこれらのテーブルがあっても、それは循環参照につながります。

あなたの質問にお答えしますか?

+0

これらのテーブルが1つのデータベース内にあっても、それは循環参照につながります。 - これを理解できませんでした。循環参照の意味は? – bleu

+0

申し訳ありませんが、私はより具体的であったはずです。 テーブルAはテーブルBを参照し、他の方法では丸めます。これらのテーブルにレコードを追加することはできません。 –

1

コメントごとに。いいえ、残念ながらあなたは単純にできません。

テーブルは同じデータベースだがスキーマは異なることがありますか?そうすれば、外交関係が可能になる。

+0

テーブルは同じデータベースだが異なるスキーマはありますか?それは外来的なキーの関係を可能にするでしょう - >私がこれを見つけることができる任意のtotorialsまたは例。 – bleu

関連する問題