Вот схема того, как я подхожу к этому. Это совершенно нетривиальная модификация, поэтому ваш пробег будет варьироваться в зависимости от ваших реальных настроек.
(1) Построить новую составную базу данных. Я бы взял один из двух существующих и добавил в него код другого, а не создал бы новую (третью) базу данных.
(1a) Вам (предположительно) понадобится процедура для создания новой базы данных с нуля.
(1b) Вам (определенно) понадобится подпрограмма для обновления существующей пары баз данных в форму сингл-дб.
(2) Построить пересмотренную «вторую» базу данных. Все в этой базе данных является заполнителем, ссылающимся на коррелированные объекты в пересмотренной «первой» базе данных. Как рекомендует Том Х., sysnonyms должны хорошо работать для этого (они также доступны в SQL 2005). Представления также будут работать. Хранимые процедуры должны быть просто обертками, которые вызывают свои аналоги в (новой) первой базе данных.
(3) Тест, тестовый тест.
(4) Вернитесь и повторите шаг 3.
(5) Примените ваши изменения сразу к существующим системам (вот почему у нас есть шаг 4), по одной среде за раз. Все сделано правильно, и в зависимости от много в вашей системе, вам, возможно, даже не придется настраивать доступ пользователей или приложений к вашим базам данных.
(6) Если позволят время и ресурсы, пересмотрели всех внешних пользователей и приложений для ссылки на новую / единую базу данных, в конечном итоге исключив любое использование или ссылку на вторую базу данных.