Share via


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 を指定することで、SQL Server 用の正式な OLE DB プロバイダーである Microsoft SQL Server Client 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 用の正式な OLE DB プロバイダーである SQL Server Client 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 用の正式な OLE DB プロバイダーである SQL Server Client 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()