Bruno Perroni
DBA SQL Server com mais de 6 anos de experiência!

SP_CONFIGURE ‘Ad Hoc Distributed Queries’

Fala pessoal, tudo certo?

Dando continuidade à série de posts sobre as opções de configuração do SQL Server, hoje iremos falar sobre a opção Ad Hoc Distributed Queries.

Por padrão o SQL Server não permite que se utilize consultas distribuídas utilizando um driver diferente do SQL Native Client OLE DB. Quando existe a necessidade de se importar dados de uma planilha em Excel por exemplo, devemos habilitar a opção Ad Hoc Distributed Queries para que a importação ocorra sem erros.

Essa opção de configuração permite a execução de queries utilizando OPENROWSET e OPENDATASOURCE, ou seja, com essa opção habilitada é possível realizar queries diretamente em planilhas Excel ou em outros servidores conforme os exemplos abaixo.

SELECT a.*
FROM OPENROWSET('SQLNCLI', 'Server=OUTROSERVIDOR;Trusted_Connection=yes;', 'SELECT GroupName, Name, DepartmentID
FROM AdventureWorks2016.HumanResources.Department
ORDER BY GroupName, Name') AS a;
SELECT *
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=C:\Teste\Planilha.xlsx;', 'SELECT * FROM [Plan1$]')

Aqui vai um importante alerta que a própria Microsoft destaca na documentação, que ao habilitar essa opção, qualquer usuário autenticado no SQL Server pode se beneficiar do uso do provider.

Caso você deseje habilitar essa opção, deve se utilizar o seguinte comando.

EXEC sp_configure ‘Ad Hoc Distributed Queries’, 1;

RECONFIGURE;

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *