Verwenden von Verbindungsservern in SMO

Ein Verbindungsserver stellt eine OLE DB-Datenquelle auf einem Remoteserver dar. Remote-OLE DB-Datenquellen werden mit dem LinkedServer-Objekt mithilfe der Instanz von SQL Server verknüpft.

Remote-Datenbankserver können über einen OLE DB-Anbieter mit der aktuellen Instanz von Microsoft SQL Server verknüpft werden. In SMO werden Verbindungsserver durch das LinkedServer-Objekt dargestellt. Die LinkedServerLogins-Eigenschaft verweist auf eine Auflistung von LinkedServerLogin-Objekten. Diese speichern die Anmeldeinformationen, die erforderlich sind, um eine Verbindung mit dem Verbindungsserver herzustellen.

OLE DB-Anbieter

In SMO werden installierte OLE-DB-Anbieter durch eine Auflistung von OleDbProviderSettings-Objekten dargestellt.

Beispiel

Für das folgende Codebeispiel müssen Sie die Programmierungsumgebung, die Programmiervorlage und die Programmiersprache auswählen, um Ihre Anwendung zu erstellen. Weitere Informationen finden Sie unter Vorgehensweise: Erstellen eines Visual Basic-SMO-Projekts in Visual Studio .NET und Vorgehensweise: Erstellen eines Visual C#-SMO-Projekts in Visual Studio .NET.

Im folgenden Codebeispiel wird veranschaulicht, wie mithilfe des LinkedServer-Objekts ein Link zu einer heterogenen SQL Server OLE DB-Datenquelle erstellt wird. Durch die Angabe von SQL Server als Produktname wird mittels Microsoft SQL Server Client OLE DB-Anbieter auf die Daten auf einem Verbindungsserver zugegriffen. Dies ist der offizielle OLE DB-Anbieter für SQL Server.

'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()

Im folgenden Codebeispiel wird veranschaulicht, wie mithilfe des LinkedServer-Objekts ein Link zu einer heterogenen SQL Server OLE DB-Datenquelle erstellt wird. Durch die Angabe von SQL Server als Produktname wird mittels SQL Server Client OLE DB-Anbieter auf die Daten auf einem Verbindungsserver zugegriffen. Dies ist der offizielle OLE DB-Anbieter für SQL Server.

//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(); 
} 

Im folgenden Codebeispiel wird veranschaulicht, wie mithilfe des LinkedServer-Objekts ein Link zu einer heterogenen SQL Server OLE DB-Datenquelle erstellt wird. Durch die Angabe von SQL Server als Produktname wird mittels SQL Server Client OLE DB-Anbieter auf die Daten auf einem Verbindungsserver zugegriffen. Dies ist der offizielle OLE DB-Anbieter für SQL Server.

#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()