| Utilisation des synonymes en SQL Server 2005 |
|
|
|
|
Les utilisateurs de SQL Server sont depuis longtemps habitués à utiliser les noms entièrement qualifiés [[[serveur.][base de données].][nom de la table].]nom_object, par exemple :
Cette syntaxe devient lourde lorsque les noms de tables et de vues doivent être tous deux entièrement qualifiés. Vous pouvez remédier à ce problème en attribuant à la table un nom de corrélation, aussi appelé variable de plage ou alias, à l'aide du mot clé AS de la clause FROM. Dans ce cas, le nom de la table ou de la vue entièrement qualifiée ne doit figurer que dans la clause FROM.
Mais que ce se passe t’il si on est obligé d’utiliser le nom complet ou si on ne connait pas à l’avance le nom du serveur et/ou de la base de donnée (la nomenclature peut changer entre les environnements de test, qualification et production) ?
On peut, bien sur utiliser la technique classique de la concaténation de texte :
Cette solution est néanmoins dangereuse car il est possible d’injecter du code qui peut compromettre la sécurité du système.
SQL Server 2005 offre une vraie solution à ce genre de problème car cette version permet de définir des synonymes : un nom simple qui peut remplacer un nom entièrement qualifié (en une, deux, trois ou quatre parties). Cette solution offre les avantages suivants :
La syntaxe de création d’un synonyme est la suivante :
Les synonymes sont limités aux objets suivants :
Les synonymes
peuvent être utilisés dans les instructions suivantes :
Attention : on ne peut pas utiliser de synonymes pour les instructions de type DDL !
Attention : à ne pas supprimer un synonyme sans avoir vérifié au préalable qu’il n’est plus utilisé dans toute l’application car SQL n’effectue aucune vérification (late binding !).
Si vous avez d'autres quesitons, n'hésitez pas à en parler sur le forum SQL Server .
|
| < Précédent | Suivant > |
|---|



