Utilisation de synonymes
S’applique à : SQL ServerAzure SQL Database Azure SQL Managed Instance Azure Synapse Analytics
Un synonyme est un alias donné à un objet dans l'étendue du schéma. Dans SMO, les synonymes sont représentés par l'objet Synonym. L'objet Synonym est un enfant de l'objet Database. Cela signifie que les synonymes ne sont valides que dans le contexte de la base de données dans laquelle ils ont été définis. Toutefois, le synonyme peut faire référence à des objets sur une autre base de données ou sur une instance distante de SQL Server.
L'objet auquel est attribué un alias est l'objet de base. La propriété de nom de l'objet Synonym est l'alias attribué à l'objet de base.
Exemple
Dans les exemples de code suivants, vous devez sélectionner l'environnement, le modèle et le langage de programmation à utiliser pour créer votre application. Pour plus d’informations, consultez Créer un projet SMO Visual C# dans Visual Studio .NET.
Création d'un synonyme en Visual C#
L'exemple de code montre comment créer un synonyme ou un alias pour un objet compris dans l'étendue du schéma. Les applications clientes peuvent utiliser une référence unique pour l'objet de base par le biais d'un synonyme, au lieu d'employer une référence en plusieurs parties à l'objet de base.
{
//Connect to the local, default instance of SQL Server.
Server srv = new Server();
//Reference the AdventureWorks2022 database.
Database db = srv.Databases["AdventureWorks2022"];
//Define a Synonym object variable by supplying the
//parent database, name, and schema arguments in the constructor.
//The name is also a synonym of the name of the base object.
Synonym syn = new Synonym(db, "Shop", "Sales");
//Specify the base object, which is the object on which
//the synonym is based.
syn.BaseDatabase = "AdventureWorks2022";
syn.BaseSchema = "Sales";
syn.BaseObject = "Store";
syn.BaseServer = srv.Name;
//Create the synonym on the instance of SQL Server.
syn.Create();
}
Création d'un synonyme dans PowerShell
L'exemple de code montre comment créer un synonyme ou un alias pour un objet compris dans l'étendue du schéma. Les applications clientes peuvent utiliser une référence unique pour l'objet de base par le biais d'un synonyme, au lieu d'employer une référence en plusieurs parties à l'objet de base.
#Get a server object which corresponds to the default instance
$srv = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Server
#And the database object corresponding to Adventureworks
$db = $srv.Databases["AdventureWorks2022"]
$syn = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Synonym `
-argumentlist $db, "Shop", "Sales"
#Specify the base object, which is the object on which the synonym is based.
$syn.BaseDatabase = "AdventureWorks2022"
$syn.BaseSchema = "Sales"
$syn.BaseObject = "Store"
$syn.BaseServer = $srv.Name
#Create the synonym on the instance of SQL Server.
$syn.Create()