Em alguns sistemas corporativos, você pode ter que lidar com objetos remotos sobre os quais não tem controle. Por exemplo, um banco de dados mantido por outro departamento ou equipe.
Os sinônimos podem ajudá-lo a separar o nome e a localização do objeto subjacente de seu código SQL. Dessa forma, você pode codificar em uma tabela de sinônimos, mesmo que a tabela desejada seja movida para um novo servidor/banco de dados ou renomeada.
Por exemplo, eu poderia escrever uma consulta assim:
insert into MyTable
(...)
select ...
from remoteServer.remoteDatabase.dbo.Employee
mas se o servidor, ou banco de dados, esquema ou tabela mudar, isso afetaria meu código. Em vez disso, posso criar um sinônimo para o servidor remoto e usar o sinônimo:
insert into MyTable
(...)
select ...
from EmployeeSynonym
Se o objeto subjacente mudar de local ou nome, só preciso atualizar meu sinônimo para apontar para o novo objeto.
http://www.mssqltips.com/sqlservertip/1820/use-synonyms-to-abstract-the-location-of-sql-server-database-objects/