Dans certains systèmes d'entreprise, vous devrez peut-être gérer des objets distants sur lesquels vous n'avez aucun contrôle. Par exemple, une base de données gérée par un autre service ou une autre équipe.
Les synonymes peuvent vous aider à dissocier le nom et l'emplacement de l'objet sous-jacent de votre code SQL. De cette façon, vous pouvez coder par rapport à une table de synonymes même si la table souhaitée est déplacée vers un nouveau serveur/base de données ou renommée.
Par exemple, je pourrais écrire une requête comme celle-ci :
insert into MyTable
(...)
select ...
from remoteServer.remoteDatabase.dbo.Employee
mais si le serveur, la base de données, le schéma ou la table change, cela aurait un impact sur mon code. Au lieu de cela, je peux créer un synonyme pour le serveur distant et utiliser le synonyme à la place :
insert into MyTable
(...)
select ...
from EmployeeSynonym
Si l'objet sous-jacent change d'emplacement ou de nom, il me suffit de mettre à jour mon synonyme pour qu'il pointe vers le nouvel objet.