Можно ли определить отношения между таблицами в разных базах данных на SQL Server 2008? И можете ли вы порекомендовать онлайн-учебник по его изучению? (Я предпочитаю ASP.NET, C#)Отношения между таблицами из разных баз данных
ответ
Нет, у вас не может быть внешних ключей между базами данных.
Целостность данных находится в пределах одной базы данных. Если вам нужна транзакционная согласованность между базами данных, вы должны использовать одну базу данных. Основная проблема заключается в резервном копировании/восстановлении: после восстановления вы получите поврежденные данные, поскольку ваши резервные копии несовместимы.
Недавний блог статьи "One Database or Ten?" объясняет более подробно
Сказать, что вы можете использовать триггеры, если вам это нужно, и готовы были сломаны данные
+1 для ссылки. –
Также хорошо: http://dba.stackexchange.com/questions/47387/best-practice-either-create-multiple-databases-or-multiple-users Он создает его как аргумент «множественная база данных по сравнению с несколькими схемами» , и один комментатор упоминает, что «существует очень мало сценариев, когда использование нескольких баз данных на одном сервере - лучшая практика». Другой говорит: «Oracle RDBMS всегда была разработана для размещения нескольких схем в одной базе данных, а для разных приложений - путь. Это одно из главных отличий между Oracle и (скажем) MS SQL Server или MySQL». – Triynko
Да, вы можете, но не использующих внешние ключи:
вы можете использовать специальные сохраненные проки, который проверяет целостность - в этом случае вы должны сделать пользователь использовать только эти процедуры все CRUD РАБОТЫ нс в обоих DBS
триггеров, которые будут проверять то же
Все вышеперечисленное должно выполняться в правильной изоляции транзакции быть уверен, что ваши «только проверенными» значения не будут удалены в момент
Я сделал, но ничего не нашел. –