Créer des synonymes
S’applique à : SQL Server base de données Azure SQL Azure SQL Managed Instance
Cet article explique comment créer un synonyme dans SQL Server à l'aide de SQL Server Management Studio ou de Transact-SQL.
Sécurité
Pour créer un synonyme dans un schéma donné, un utilisateur doit disposer de l'autorisation CREATE SYNONYM, et il doit posséder le schéma ou bénéficier de l'autorisation ALTER SCHEMA. L'autorisation CREATE SYNONYM est octroyable.
Utiliser SQL Server Management Studio
Créer un synonyme
Dans l' Explorateur d'objets, développez la base de données dans laquelle vous souhaitez créer votre nouvelle vue.
Cliquez avec le bouton droit sur le dossier Synonymes, puis sélectionnez Nouveau synonyme....
Dans la boîte de dialogue Ajouter un synonyme , entrez les informations suivantes.
Nom du synonyme
Tapez le nouveau nom à utiliser pour cet objet.Schéma du synonyme
Tapez le schéma du nouveau nom à utiliser pour cet objet.Nom du serveur
Tapez l'instance de serveur à laquelle vous connecter.Nom de la base de données
Tapez ou sélectionnez la base de données contenant l'objet.Schéma
Tapez ou sélectionnez le schéma propriétaire de l'objet.Type d'objet
Permet de sélectionner le type d'objet.Nom de l'objet
Tapez le nom de l'objet auquel le synonyme fait référence.
Utiliser Transact-SQL
Créer un synonyme
Connectez-vous au Moteur de base de données.
Dans la barre d’outils standard, sélectionnez Nouvelle requête.
Copiez et collez les exemples suivants dans la fenêtre de requête, puis sélectionnez Exécuter.
Exemple (Transact-SQL)
L'exemple suivant crée un synonyme pour une table existante dans la base de données AdventureWorks2022
. Le synonyme est ensuite utilisé dans les exemples suivants.
USE tempdb;
GO
CREATE SYNONYM MyAddressType
FOR AdventureWorks2022.Person.AddressType;
GO
L'exemple suivant insère une ligne dans la table de base référencée par le synonyme MyAddressType
.
USE tempdb;
GO
INSERT INTO MyAddressType (Name)
VALUES ('Test');
GO
L'exemple suivant montre comment un synonyme peut être référencé en SQL dynamique.
USE tempdb;
GO
EXECUTE ('SELECT Name FROM MyAddressType');
GO