Freigeben über


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 Erstellen eines Visual Basic-SMO-Projekts in Visual Studio.NET und Erstellen eines Visual C# SMO-Projekts in Visual Studio.NET.

Im folgenden Codebeispiel wird veranschaulicht, wie ein Link zu einer heterogenen SQL Server OLE DB-Datenquelle mithilfe des LinkedServer-Objekts erstellt wird. Durch die Angabe von SQL Server als Produktname wird über den 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 ein Link zu einer heterogenen SQL Server OLE DB-Datenquelle mithilfe des LinkedServer-Objekts erstellt wird. Durch die Angabe von SQL Server als Produktname wird über den 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 ein Link zu einer heterogenen SQL Server OLE DB-Datenquelle mithilfe des LinkedServer-Objekts erstellt wird. Durch die Angabe von SQL Server als Produktname wird über den 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()