Opção de configuração de servidor ad hoc distributed queries
Por padrão, SQL Server não permite consultas distribuídas ad hoc usando OPENROWSET e OPENDATASOURCE. Quando essa opção é definida como 1, o SQL Server permite acesso ad hoc. Quando essa opção não está definida ou é definida como 0, SQL Server não permite acesso ad hoc.
As consultas distribuídas ad hoc usam as funções OPENROWSET e OPENDATASOURCE para se conectarem a fontes de dados remotas que usam OLE DB. OPENROWSET e OPENDATASOURCE devem ser usados apenas para fazer referência a fontes de dados OLE DB que são acessadas com pouca frequência. Para qualquer fonte de dados que será acessada muitas vezes, defina um servidor vinculado.
Importante
A habilitação do uso de nomes ad hoc indica que qualquer logon autenticado para o SQL Server pode acessar o provedor. Os administradores do SQL Server devem habilitar esse recurso para provedores seguros, que podem ser acessados por qualquer logon local.
Comentários
Tentar fazer uma conexão ad hoc com a opção Ad Hoc Distributed Queries não habilitada resultará em erro: Msg 7415, Nível 16, Estado 1, Linha 1
Acesso ad hoc negado ao provedor OLE DB 'Microsoft.ACE.OLEDB.12.0'. É necessário acessar esse provedor através de um servidor vinculado.
Exemplos
O exemplo a seguir habilita consultas distribuídas ad hoc e, em seguida, consulta um servidor chamado Seattle1
usando a função 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
Consulte Também
Opções de configuração do servidor (SQL Server)
Servidores vinculados (Mecanismo de Banco de Dados)
OPENROWSET (Transact-SQL)
OPENDATASOURCE (Transact-SQL)
sp_addlinkedserver (Transact-SQL)