W niektórych systemach korporacyjnych możesz mieć do czynienia z obiektami zdalnymi, nad którymi nie masz kontroli. Na przykład baza danych utrzymywana przez inny dział lub zespół.
Synonimy mogą pomóc w oddzieleniu nazwy i lokalizacji bazowego obiektu od kodu SQL. W ten sposób możesz kodować w tabeli synonimów, nawet jeśli żądana tabela zostanie przeniesiona do nowego serwera/bazy danych lub zmieniona.
Na przykład mógłbym napisać takie zapytanie:
insert into MyTable
(...)
select ...
from remoteServer.remoteDatabase.dbo.Employee
ale jeśli zmieni się serwer, baza danych, schemat lub tabela, wpłynie to na mój kod. Zamiast tego mogę utworzyć synonim dla zdalnego serwera i zamiast tego użyć synonimu:
insert into MyTable
(...)
select ...
from EmployeeSynonym
Jeśli bazowy obiekt zmieni lokalizację lub nazwę, wystarczy zaktualizować mój synonim, aby wskazywał na nowy obiekt.