#sql-server #stored-procedures #linked-server
#sql-сервер #хранимые процедуры #связанный сервер
Вопрос:
Я создаю базу данных SQL Server (назовем ее a) в моей системе разработки (назовем ее A), которой требуются данные с другого сервера рабочей базы данных (b, на сервере B).
Итак, я настроил другой сервер как связанный сервер. Пока никаких проблем.
По завершении эта база данных (a) должна запускаться на сервере B, поэтому больше не будет необходимости в связанном сервере.
Но в моем STPS у меня много B.b.dbo.tablename, которые нужно было бы изменить на просто b.dbo.tablename…
Я хочу избежать этого.
Есть идеи, как я могу это сделать.
Было бы серьезным снижением производительности, если бы я просто настроил связанный сервер на B, указывающий на себя (если это возможно) …?
Надеюсь, что я смог разобраться!
Спасибо, Рейнхард
Ответ №1:
Вы могли бы использовать связанный сервер, ссылающийся на самого себя.
Однако более простым способом может быть использование синонима, который скрывает имя из 4 частей.
CREATE SYNONYM dbo.myLocaltable FOR LinekdServer.dbname.dbo.myLocaltable
или
CREATE SYNONYM myLocaltable FOR LinekdServer.dbname.dbo.myLocaltable
Таким образом, все ссылки на myLocaltable будут, э-э, локальными.