Использование связанных серверов в объектах SMO
Связанный сервер представляет источник данных OLE DB на удаленном сервере. Удаленные источники данных OLE DB связываются с экземпляром SQL Server при помощи объекта LinkedServer.
Удаленные серверы базы данных могут быть связаны с текущим экземпляром Microsoft SQL Server с помощью поставщика OLE DB. В SMO связанные серверы представлены объектом LinkedServer. Свойство LinkedServerLogins указывает на коллекцию объектов LinkedServerLogin. В них хранятся учетные данные входа, требуемые для установления соединения со связанным сервером.
Поставщики OLE DB
В SMO установленные поставщики OLE DB представлены коллекцией объектов OleDbProviderSettings.
Пример
В следующем примере кода для создания приложения необходимо выбрать среду, шаблон и язык программирования. Дополнительные сведения см. в разделах Как создать проект SMO на языке Visual Basic в среде Visual Studio .NET и Как создать проект SMO на языке Visual C# в среде Visual Studio .NET.
Создание ссылки на сервер поставщика OLE-DB в Visual Basic
Пример кода показывает, как создать ссылку на разнородный источник данных SQL Server OLE DB с помощью объекта LinkedServer. При указании SQL Server в качестве названия продукта, доступ к данным на связанном сервере осуществляется с помощью поставщика данных OLE DB Microsoft SQL Server, являющегося официальным поставщиком OLE DB для 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()
Создание ссылки на сервер поставщика OLE-DB в Visual C#
Пример кода показывает, как создать ссылку на разнородный источник данных SQL Server OLE DB с помощью объекта LinkedServer. Если в качестве названия продукта указан SQL Server, то доступ к данным на связанном сервере осуществляется с помощью поставщика OLE DB для клиента SQL Server, являющегося официальным поставщиком OLE DB для 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();
}
Создание ссылки на сервер поставщика OLE-DB в PowerShell
Пример кода показывает, как создать ссылку на разнородный источник данных SQL Server OLE DB с помощью объекта LinkedServer. Если в качестве названия продукта указан SQL Server, то доступ к данным на связанном сервере осуществляется с помощью поставщика OLE DB для клиента SQL Server, являющегося официальным поставщиком OLE DB для 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()