Параметр конфигурации сервера «ad hoc distributed queries»

Область применения: SQL Server (все поддерживаемые версии)

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

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

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

Remarks

При попытке создать нерегламентированное подключение при отключенной возможности нерегламентированных распределенных запросов вы увидите следующую ошибку:

Msg 7415, Level 16, State 1, Line 1  
  
Ad hoc access to OLE DB provider 'Microsoft.ACE.OLEDB.12.0' has been denied. You must access this provider through a linked server.  

Примеры

Следующий пример включает распределенные нерегламентированные запросы и выполняет запрос к серверу Seattle1 с использованием функции OPENROWSET .

sp_configure 'show advanced options', 1;  
RECONFIGURE;
GO 
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 Azure и Управляемый экземпляр SQL Azure

Подробнее см. статью Сравнение функций: База данных SQL Azure и Управляемый экземпляр SQL Azure.

См. также раздел