Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Настройте связанный сервер, чтобы включить ядро СУБД SQL Server для выполнения команд для источников данных OLE DB за пределами экземпляра SQL Server. Как правило, связанные серверы настроены, чтобы ядро СУБД выполняло инструкцию Transact-SQL, которая включает таблицы в другом экземпляре SQL Server или другой продукт базы данных, например Oracle. Многие типы источников данных OLE DB можно настроить как связанные серверы, включая Microsoft Access и Excel. Связанные серверы предлагают следующие преимущества:
Возможность доступа к данным извне SQL Server.
Возможность выдачи распределенных запросов, обновлений, команд и транзакций в разнородных источниках данных на предприятии.
Возможность обработки различных источников данных аналогичным образом.
Связанный сервер можно настроить с помощью SQL Server Management Studio или с помощью инструкции sp_addlinkedserver (Transact-SQL) . Поставщики OLE DB значительно зависят от типа и количества необходимых параметров. Например, некоторые провайдеры требуют предоставить контекст безопасности для подключения с помощью sp_addlinkedsrvlogin (Transact-SQL). Некоторые поставщики OLE DB позволяют SQL Server обновлять данные в источнике OLE DB. Другие предоставляют доступ только для чтения данных. Сведения о каждом поставщике OLE DB см. в документации по поставщику OLE DB.
Связанные компоненты сервера
Определение связанного сервера указывает следующие объекты:
Поставщик OLE DB
Источник данных OLE DB
Поставщик OLE DB — это библиотека DLL, которая управляет и взаимодействует с определенным источником данных. Источник данных OLE DB определяет конкретную базу данных, доступ к которым можно получить с помощью OLE DB. Хотя источники данных, запрашиваемые с помощью определений связанного сервера, обычно являются базами данных, поставщики OLE DB существуют для различных файлов и форматов файлов. К ним относятся текстовые файлы, данные электронной таблицы и результаты поиска полнотекстового содержимого.
Поставщик OLE DB собственного клиента Microsoft SQL Server (PROGID: SQLNCLI11) является официальным поставщиком OLE DB для SQL Server.
Замечание
Распределенные запросы SQL Server предназначены для работы с любым поставщиком OLE DB, реализующим необходимые интерфейсы OLE DB. Однако SQL Server был протестирован только для поставщика OLE DB Native Client для SQL Server, а также для некоторых других поставщиков.
Сведения о связанном сервере
На следующем рисунке показаны основы конфигурации связанного сервера.
Как правило, связанные серверы используются для обработки распределенных запросов. Когда клиентское приложение выполняет распределенный запрос через связанный сервер, SQL Server анализирует команду и отправляет запросы в OLE DB. Запрос набора строк может быть в виде выполнения запроса к поставщику или открытия базовой таблицы от поставщика.
Чтобы источник данных возвращал данные через связанный сервер, поставщик OLE DB (DLL) для этого источника данных должен присутствовать на том же сервере, что и экземпляр SQL Server.
Если используется сторонний поставщик OLE DB, учетная запись, в которой выполняется служба SQL Server, должна иметь разрешения на чтение и выполнение каталога и всех подкаталогов, в которых установлен поставщик.
Управление поставщиками
Существует набор параметров, определяющих загрузку SQL Server и использование поставщиков OLE DB, указанных в реестре.
Управление конфигурациями связанного сервера
При настройке связанного сервера зарегистрируйте сведения о подключении и сведения о источнике данных в SQL Server. После регистрации этот источник данных можно ссылаться по одному логическому имени.
Для управления определениями связанных серверов можно использовать хранимые процедуры и представления каталога:
Создайте определение связанного сервера, выполнив sp_addlinkedserver.
Просмотрите сведения о связанных серверах, определенных в определенном экземпляре SQL Server, выполнив запрос к представлениям системного каталога sys.servers .
Удалите определение связанного сервера, выполнив sp_dropserver. Эту хранимую процедуру можно также использовать для удаления удаленного сервера.
Вы также можете определить связанные серверы с помощью SQL Server Management Studio. В обозревателе объектов щелкните правой кнопкой мыши объекты сервера, выберите "Создать" и выберите "Связанный сервер". Вы можете удалить определение связанного сервера, щелкнув правой кнопкой мыши имя связанного сервера и выбрав пункт "Удалить".
При выполнении распределенного запроса для связанного сервера добавьте полное имя таблицы с четырьмя компонентами для каждого источника данных, который вы хотите запросить. Это четырехкомпонентное имя должно быть в форме linked_server_name.catalog.schema
.object_name.
Замечание
Связанные серверы можно настроить для возврата к серверу, на котором они определены. Серверы обратного цикла наиболее полезны при тестировании приложения, использующего распределенные запросы в одной сети серверов. Связанные loopback-серверы предназначены для тестирования и не поддерживаются для ряда операций, таких как распределенные транзакции.
Связанные задачи
Создание связанных серверов (ядро СУБД SQL Server)
sp_addlinkedserver (Transact-SQL)
sp_addlinkedsrvlogin (Transact-SQL)