在 SMO 中使用链接服务器

链接服务器表示远程服务器上的 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 Basic SMO 项目在 Visual Studio .NET 中创建 Visual C# SMO 项目

在 Visual Basic 中创建指向 OLE-DB 访问接口服务器的链接

此代码示例说明如何使用 LinkedServer 对象创建指向异类数据源 SQL Server OLE DB 的链接。 通过指定 SQL Server 作为产品名称,使用 Microsoft SQL Server Client OLE DB 访问接口即可在链接服务器上访问数据,该接口是 SQL Server 的正式 OLE DB 访问接口。

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Create a linked server.
Dim lsrv As 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()

在 Visual C# 中创建指向 OLE-DB 访问接口服务器的链接

此代码示例说明如何使用 LinkedServer 对象创建指向异类数据源 SQL Server OLE DB 的链接。 通过指定 SQL Server 作为产品名称,使用 SQL Server Client 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(); 
} 

在 PowerShell 中创建指向 OLE-DB 访问接口服务器的链接

此代码示例说明如何使用 LinkedServer 对象创建指向异类数据源 SQL Server OLE DB 的链接。 通过指定 SQL Server 作为产品名称,使用 SQL Server Client 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()