使用同义词
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Microsoft Fabric SQL 数据库
同义词是架构范围内的对象的另一名称。 在 SMO 中,同义词由 Synonym 对象表示。 Synonym 对象是 Database 对象的子对象。 这意味着同义词仅在定义它们的数据库范围内有效。 但是,同义词可以引用另一个数据库或 SQL Server 的远程实例上的对象。
具有另一名称的对象称为基对象。 Synonym 对象的名称属性即为提供给基对象的另一名称。
示例
对于下列代码示例,您必须选择编程环境、编程模板和编程语言才能创建应用程序。 有关详细信息,请参阅 在 Visual Studio .NET 中创建 Visual C# SMO 项目。
在 Visual C# 中创建同义词
代码示例演示了如何为架构范围内的对象创建同义词或备用名称。 通过使用同义词,客户端应用程序可以使用对基对象的单一引用,而不必使用由多部分组成的名称来引用基对象。
{
//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();
}
在 PowerShell 中创建同义词
代码示例演示了如何为架构范围内的对象创建同义词或备用名称。 通过使用同义词,客户端应用程序可以使用对基对象的单一引用,而不必使用由多部分组成的名称来引用基对象。
#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()