В некоторых корпоративных системах вам, возможно, придется иметь дело с удаленными объектами, которые вы не можете контролировать.Например, база данных, которая поддерживается другим отделом или группой.
Синонимы могут помочь вам отделить имя и местоположение базового объекта от вашего кода SQL.Таким образом, вы можете кодировать против таблицы синонимов, даже если нужная таблица перемещена на новый сервер / базу данных или переименована.
Например, я мог бы написать такой запрос:
insert into MyTable
(...)
select ...
from remoteServer.remoteDatabase.dbo.Employee
, но тогда, если сервер, база данных, схема или таблица изменятся, это повлияет на мой код.Вместо этого я могу создать синоним для удаленного сервера и использовать вместо этого синоним:
insert into MyTable
(...)
select ...
from EmployeeSynonym
Если базовый объект меняет местоположение или имя, мне нужно только обновить свой синоним, чтобы он указывал на новый объект.
http://www.mssqltips.com/sqlservertip/1820/use-synonyms-to-abstract-the-location-of-sql-server-database-objects/