Наличие отношений внешнего ключа между двумя разными столбцами в двух разных базах данных - PullRequest
2 голосов
/ 03 февраля 2012

У меня есть две базы данных A и B. A имеет таблицу tableA со столбцом A, аналогично B имеет таблицу B с coulmnB.Могу ли я иметь отношения Первичный, Внешний ключ между этими двумя столбцами.Обе базы данных будут находиться в одном и том же экземпляре Sql Server 2008 R2.

Я использую Sql Server 2008 R2 Express Edition.

Кроме того, если он недоступен в экспресс-выпуске, он доступен и в другихтакие издания, как предприятие

Ответы [ 3 ]

3 голосов
/ 03 февраля 2012

Это невозможно, но вы можете реализовать пользовательский механизм с помощью триггеров.

Проблема заключается в том, что вы никогда не сможете сказать, что ваши резервные копии соответствуют .

Поскольку ссылочная целостность, реализованная с помощью ограничения FOREIGN KEY, гарантирует, что все ваши данные будут действительными после завершения транзакции, а резервные копии всегда будут согласованными.

С различными базами данных и ссылочной базой. Целостность, вы никогда не можете сказать, что обе базы данных резервируются одновременно и в согласованном состоянии.

1 голос
/ 03 февраля 2012

Согласно комментариям.Нет, к сожалению, вы просто не можете.

Может быть, таблица для одной и той же базы данных, но для разных схем?Это позволило бы связать внешний ключ.

1 голос
/ 03 февраля 2012

В вашем сценарии у вас есть 2 базы данных - создание FK между базами данных невозможно (даже в пределах одного экземпляра SQL-сервера).

Даже если бы у вас были эти таблицы в одной базе данных, это привело бы к циклической ссылке.

Это отвечает на ваш вопрос?

...