У меня есть два сервера SQL, один для производства и один для тестирования. Рассмотрим следующую настройку:
Prod: Test:
db_1 db_1
db_2 db_2
Теперь в db_1
есть хранимая процедура, которая обращается к db_2
:
spFoo в Prod db_1:
...
select * from db_2.dbo.bar
...
В тестовой среде той же самой процедуре также требуется доступ к db_2
, но не только к этому, он должен получить доступ к db_2
, расположенному в Prod вместо Test. Итак, на тесте процедура должна выглядеть так:
spFoo в тесте db_1:
...
select * from Prod.db_2.dbo.bar
...
Мой вопрос:
Поскольку оба сценария хотят получить доступ к базе данных в Prod, но только в версии в Test необходимо указать имя, добавив префикс имени сервера, можно ли оставить префикс на месте и для prod, т. Е. Изменить версию на prod на эту :
spFoo в Prod db_1:
...
select * from Prod.db_2.dbo.bar
...
Поскольку в Prod имя Prod.db_2.dbo.bar
будет ссылаться на базу данных на той же машине, моя фантазия заключается в том, что правильный поиск имени не будет выполняться, т. Е. SQL будет знать, что Prod - это та же машина, что и сама, и не имеет вывести маршрут для поиска DNS и / или аутентификации и т. д.
Или это просто фантазия? Повлияет ли это на производительность в Prod, если префикс имени базы данных будет Prod
?