Поделиться через


Параметр конфигурации сервера для динамических распределенных запросов

По умолчанию SQL Server не разрешает нерегламентированные распределенные запросы с помощью OPENROWSET и OPENDATASOURCE. Если для этого параметра задано значение 1, SQL Server разрешает нерегламентированный доступ. Если этот параметр не задан или имеет значение 0, SQL Server не разрешает нерегламентированный доступ.

Нерегламентированные распределенные запросы используют функции OPENROWSET и OPENDATASOURCE для подключения к удаленным источникам данных, используюющим OLE DB. OPENROWSET и OPENDATASOURCE следует использовать только для ссылки на источники данных OLE DB, к которым обращаются редко. Для любых источников данных, к которым будет обращаться более нескольких раз, определите связанный сервер.

Это важно

Включение использования произвольных имен означает, что любой прошедший аутентификацию вход в SQL Server может получить доступ к поставщику. Администраторы SQL Server должны включить эту функцию для поставщиков, безопасных для доступа к любому локальному имени входа.

Замечания

Попытка установить временное соединение с нераспределенными запросами без включения этой функции приводит к ошибке: Msg 7415, Level 16, State 1, Line 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  

См. также

Параметры конфигурации сервера (SQL Server)
Связанные серверы (ядро СУБД)
OPENROWSET (Transact-SQL)
OPENDATASOURCE (Transact-SQL)
sp_addlinkedserver (Transact-SQL)