Параметр 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 должны включать эту возможность только для тех поставщиков, к которым можно обращаться по любой локальной учетной записи, если это не создает угрозы для безопасности. Дополнительные сведения см. в подразделе о параметре DisallowAdhocAccess, раздел Доступ к внешним данным. |
Примеры
Следующий пример включает параметр ad hoc distributed queries и выполняет запросы к северу 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 AdventureWorks.HumanResources.Department
ORDER BY GroupName, Name') AS a;
GO
См. также