Отношения между таблицами из разных баз данных - PullRequest
2 голосов
/ 19 декабря 2011

Можно ли определить отношения между таблицами в разных базах данных в SQL Server 2008?И можете ли вы порекомендовать онлайн-учебник для его изучения?(Я предпочитаю ASP.NET, C #)

Ответы [ 2 ]

14 голосов
/ 19 декабря 2011

Нет, у вас не может быть внешних ключей между базами данных.

Целостность данных только в пределах одной базы данных.Если вам нужна согласованность транзакций между базами данных, вам следует использовать одну базу данных.Основная проблема - резервное копирование / восстановление: после восстановления вы получите поврежденные данные, потому что ваши резервные копии не согласованы.

В недавней статье в блоге «Одна база данных или десять?» объясняется вболее подробная информация

Сказав это, вы можете использовать триггеры, если вам это нужно и готовы получить неверные данные

5 голосов
/ 19 декабря 2011

Да, вы можете, но НЕ использовать ИНОСТРАННЫЕ КЛЮЧИ:

  1. Вы можете использовать определенные сохраненные процедуры, которые проверяют последовательность - в В этом случае вы должны заставить пользователя использовать только эти процедуры для все операции CRUD в обеих DBS

  2. Триггеры, которые будут проверять то же самое

  3. Все вышеперечисленное должно выполняться в рамках правильно изолированной транзакции, чтобы убедитесь, что ваши «только что проверенные» значения не будут удалены в момент

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...