在 SMO 中使用链接服务器

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse Analytics

链接服务器表示远程服务器上的 OLE DB 数据源。 远程 OLE DB 数据源通过使用 LinkedServer 对象链接到 SQL Server 实例。

可以使用 OLE DB 提供程序将远程数据库服务器链接到 Microsoft SQL Server的当前实例。 在 SMO 中,链接服务器由 LinkedServer 对象表示。 LinkedServerLogins 属性引用 LinkedServerLogin 对象的集合。 这些对象存储建立与链接服务器的连接所需的登录凭据。

OLE-DB 访问接口

在 SMO 中,已安装的 OLE-DB 访问接口由 OleDbProviderSettings 对象的集合表示。

示例

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

该代码示例演示如何使用 LinkedServer 对象创建指向SQL Server OLE DB 异类数据源的链接。 通过将 SQL Server 指定为产品名称,可以使用 SQL Server 客户端 OLE DB 提供程序(用于SQL Server的官方 OLE DB 访问接口)在链接服务器上访问数据。

//Connect to the local, default instance of SQL Server.   
{   
   Server srv = new Server();   
   //Create a linked server.   
   LinkedServer lsrv = default(LinkedServer);   
   lsrv = new LinkedServer(srv, "OLEDBSRV");   
   //When the product name is SQL Server the remaining properties are   
   //not required to be set.   
   lsrv.ProductName = "SQL Server";   
   lsrv.Create();   
}   

该代码示例演示如何使用 LinkedServer 对象创建指向SQL Server OLE DB 异类数据源的链接。 通过将 SQL Server 指定为产品名称,可以使用 SQL Server 客户端 OLE DB 提供程序(用于SQL Server的官方 OLE DB 访问接口)在链接服务器上访问数据。

#Get a server object which corresponds to the default instance  
$svr = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Server  
  
#Create a linked server object which corresponds to an OLEDB type of SQL Server product  
$lsvr = New-Object -TypeName Microsoft.SqlServer.Management.SMO.LinkedServer -argumentlist $svr,"OLEDBSRV"  
  
#When the product name is SQL Server the remaining properties are not required to be set.   
$lsvr.ProductName = "SQL Server"  
  
#Create the Database Object  
$lsvr.Create()