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


нерегламентированные распределенные запросы (параметр конфигурации сервера)

Область применения: SQL Server

По умолчанию 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  
  
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('MSOLEDBSQL', 'Server=Seattle1;Trusted_Connection=yes;',  
     'SELECT GroupName, Name, DepartmentID  
      FROM AdventureWorks2022.HumanResources.Department  
      ORDER BY GroupName, Name') AS a;  
GO  

База данных SQL Azure и Управляемый экземпляр SQL Azure

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

См. также