Меня интересуют ваши мысли о ловушках объединения двух или более таблиц из разных баз данных. Я попытаюсь привести пример.
Предположим, что таблица Table1 находится в базе данных DatabaseA, а Table2 находится в DatabaseB.
Скажем, у меня есть представление, в DatabaseA, которое вытаскивает некоторые данные из Table1 и некоторых других таблиц в DatabaseA '.
Это представление используется для перемещения данных в другую базу данных, позвольте этому, unimaginatevely, DatabaseC.
Если мне нужны данные из Table2, мой инстинкт состоит в том, чтобы напрямую присоединиться к Table2 в этом представлении, вроде как table1 inner join DatabaseB..table2 on [some columns]
Делать это довольно просто и быстро, но у меня в голове головокружительный голос, который говорит мне, чтобы я этого не делал. Мои заботы состоят в том, что мы не можем отслеживать все объекты в зависимости от Table2, поэтому, если я что-то меняю, я должен быть очень осторожным и помнить всюду, где я использую эту таблицу. Итак, вроде как разрыв SRP для этого представления (и двух баз данных), потому что это представление может меняться от двух разных действий (выполняется в двух разных базах данных: Изменение Table1 или изменение Table2)
Меня интересуют ваши мнения. Это хорошая или плохая идея? Каковы были бы проблемы с этим подходом (умение работать мудро, поддерживать мудрость и т.д.), И если у вас есть реальный мировой опыт, когда этот подход либо был большой ошибкой, либо был спасателем жизни для вас.
P.S: Я искал эту тему в google и SO, но не смог найти ничего подобного. Я с радостью возьму минус голоса, дублирую вопросы и другие "выговоры" от пользователей SO, чтобы иметь другое представление об этой проблеме.
P.P.S: Я использую SQL Server 2005.
Спасибо и надеюсь, что я убедился:)