使用同义词

同义词是架构范围内的对象的另一名称。在 SMO 中,同义词由 Synonym 对象表示。Synonym 对象是 Database 对象的子对象。这意味着同义词仅在定义它们的数据库范围内有效。但是,同义词可以引用位于另一个数据库或 SQL Server 远程实例上的对象。

具有另一名称的对象称为基对象。Synonym 对象的名称属性即为提供给基对象的另一名称。

示例

对于下面的代码示例,您必须选择编程环境、编程模板和编程语言才能创建应用程序。有关详细信息,请参阅如何在 Visual Studio .NET 中创建 Visual Basic SMO 项目如何在 Visual Studio .NET 中创建 Visual C# SMO 项目

在 Visual Basic 中创建同义词

代码示例演示了如何为架构范围内的对象创建同义词或备用名称。通过使用同义词,客户端应用程序可以使用对基对象的单一引用,而不必使用由多部分组成的名称来引用基对象。

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server()
'Reference the AdventureWorks database.
Dim db As Database
db = srv.Databases("AdventureWorks")
'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.
Dim syn As Synonym
syn = New Synonym(db, "Shop", "Sales")
'Specify the base object, which is the object on which the synonym is based.
syn.BaseDatabase = "AdventureWorks"
syn.BaseSchema = "Sales"
syn.BaseObject = "Store"
syn.BaseServer = srv.Name
'Create the synonym on the instance of SQL Server.
syn.Create()

在 Visual C# 中创建同义词

代码示例演示了如何为架构范围内的对象创建同义词或备用名称。通过使用同义词,客户端应用程序可以使用对基对象的单一引用,而不必使用由多部分组成的名称来引用基对象。

{ 
//Connect to the local, default instance of SQL Server. 
   Server srv = default(Server); 
   srv = new Server(); 
   //Reference the AdventureWorks database. 
   Database db = default(Database); 
   db = srv.Databases("AdventureWorks"); 
   //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 = default(Synonym); 
   syn = new Synonym(db, "Shop", "Sales"); 
   //Specify the base object, which is the object on which 
   //the synonym is based. 
   syn.BaseDatabase = "AdventureWorks"; 
   syn.BaseSchema = "Sales"; 
   syn.BaseObject = "Store"; 
   syn.BaseServer = srv.Name; 
   //Create the synonym on the instance of SQL Server. 
   syn.Create(); 
}