Я недавно начал работать над унаследованным приложением, которое имеет большую часть своей бизнес-логики в хранимых процедурах, распределенных по двум или трем базам данных SQL Server. В настоящее время весь код также редактируется в реальной среде.
Поскольку я новичок в кодовой базе, я действительно не хочу вносить какие-либо изменения в живую среду, и поэтому я пытаюсь настроить среду разработки. Мы используем Visual Studio для создания сценариев всех объектов базы данных и отслеживаем их в Subversion.
После этого я могу настроить экземпляр dev SQL Server для работы, но одна проблема заключается в том, что код полон жестко закодированных ссылок на имена серверов и баз данных, например, многие из сохраненных процедур выглядят примерно так:
CREATE PROCEDURE server1.db1.dbo.proc1 AS
INSERT INTO db1.dbo.table1
EXEC server2.db2.dbo.proc2
END
Как я могу безопасно изменить все эти ссылки? До сих пор я думал о двух вариантах:
1) Иметь скрипт, который выполняет глобальный поиск и замену имен серверов в моей рабочей копии Subversion, а затем запускать этот измененный код в моих тестовых базах данных.
2) Установите псевдоним dns на моем локальном ящике, отредактировав файл \ windows \ system32 \ drivers \ etc \ hosts, который перенаправляет server1 и server2 на экземпляры баз данных. На производственных серверах они будут затем указывать на производственные базы данных.
Какая из них, по вашему мнению, является лучшей настройкой? Видите ли вы какие-либо риски, с которыми я пренебрегал и которые следует принимать во внимание?