リンク サーバーは、リモート サーバー上の 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 クライアント OLE DB プロバイダー (SQL Server の公式 OLE DB プロバイダー) を使用して、リンク サーバー上のデータにアクセスできます。
Visual C での OLE-DB プロバイダー サーバーへのリンクの作成#
このコード例では、 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();
}
PowerShell で OLE-DB プロバイダー サーバーへのリンクを作成する
このコード例では、 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()