Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se:SQL Server
Por padrão, o SQL Server não permite consultas distribuídas ad hoc usando OPENROWSET e OPENDATASOURCE. Quando essa opção está definida como 1, o SQL Server permite acesso ad hoc. Quando essa opção não está definida ou está definida como 0, o 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 seja acessada mais que muitas vezes, defina um servidor vinculado.
A habilitação do uso de nomes ad hoc indica que qualquer conta autenticada do SQL Server pode acessar o provedor. Os administradores do SQL Server devem habilitar esse recurso para provedores que sejam seguros para o acesso por qualquer logon local.
Comentários
Se você tentar fazer uma conexão ad hoc com a opção Ad Hoc Distributed Queries desabilitada, verá o seguinte erro:
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.
Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure
Confira Comparação de recursos: Banco de Dados SQL do Azure e Instância Gerenciada de SQL do Azure para referência.
Exemplos
O exemplo a seguir habilita Ad Hoc Distributed Queries e consulta um servidor chamado Seattle1 usando a função OPENROWSET.
USE master;
GO
EXECUTE sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXECUTE sp_configure 'Ad Hoc Distributed Queries', 1;
GO
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
EXECUTE sp_configure 'show advanced options', 0;
GO
RECONFIGURE;
GO