Параметр конфигурации сервера «ad hoc distributed queries»
По умолчанию SQL Server не разрешает нерегламентированные распределенные запросы, использующие операторы OPENROWSET и OPENDATASOURCE. Если этот параметр равен 1, SQL Server допускает выполнение нерегламентированных распределенных запросов. Если этот параметр не задан или равен 0, SQL Server не разрешает нерегламентированный доступ.
В нерегламентированных распределенных запросах с помощью функций OPENROWSET и OPENDATASOURCE осуществляется подключение к удаленным источникам данных, использующим OLE DB. Функции OPENROWSET и OPENDATASOURCE должны использоваться с теми источниками данных OLE DB, обращения к которым происходят нечасто. Для источников данных, к которым обращение производится более чем несколько раз, определите связанный сервер.
Примечание по безопасности |
---|
Разрешение использования нерегламентированных имен означает, что любой пользователь, прошедший проверку подлинности при входе в SQL Server, будет иметь доступ к поставщику. Администраторам SQL Server следует включить эту функцию для поставщиков, любой локальный доступ к которым не представляет опасности. |
Замечания
Попытка установки нерегламентированного соединения без включенной функции Нерегламентированные распределенные запросы приведет к ошибке. Сообщение 7415, уровень 16, состояние 1, строка 1
Нерегламентированный доступ к поставщику OLE DB «Microsoft.ACE.OLEDB.12.0» запрещен. К данному поставщику доступ необходимо производить через связанный сервер.
Примеры
Следующий пример включает распределенные нерегламентированные запросы и выполняет запрос к серверу Seattle1 с использованием функции OPENROWSET.
sp_configure 'show advanced options', 1;
RECONFIGURE;
sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
GO
SELECT a.*
FROM OPENROWSET('SQLNCLI', 'Server=Seattle1;Trusted_Connection=yes;',
'SELECT GroupName, Name, DepartmentID
FROM AdventureWorks2012.HumanResources.Department
ORDER BY GroupName, Name') AS a;
GO
См. также
Справочник
sp_addlinkedserver (Transact-SQL)