Opção de configuração de servidor ad hoc distributed queriesad hoc distributed queries Server Configuration Option

APLICA-SE A: simSQL Server nãoBanco de Dados SQL do Azure nãoAzure Synapse Analytics (SQL DW) nãoParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Por padrão, o SQL ServerSQL Server não permite consultas distribuídas ad hoc que usam OPENROWSET e OPENDATASOURCE.By default, SQL ServerSQL Server does not allow ad hoc distributed queries using OPENROWSET and OPENDATASOURCE. Quando esta opção é definida como 1, o SQL ServerSQL Server permite acesso ad hoc.When this option is set to 1, SQL ServerSQL Server allows ad hoc access. Quando esta opção não é definida ou é definida como 0, o SQL ServerSQL Server não permite o acesso ad hoc.When this option is not set or is set to 0, SQL ServerSQL Server does not allow ad hoc access.

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.Ad hoc distributed queries use the OPENROWSET and OPENDATASOURCE functions to connect to remote data sources that use 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.OPENROWSET and OPENDATASOURCE should be used only to reference OLE DB data sources that are accessed infrequently. Para qualquer fonte de dados que será acessada muitas vezes, defina um servidor vinculado.For any data sources that will be accessed more than several times, define a linked server.

Importante

A habilitação do uso de nomes ad hoc indica que qualquer logon autenticado para o SQL ServerSQL Server pode acessar o provedor.Enabling the use of ad hoc names means that any authenticated login to SQL ServerSQL Server can access the provider. SQL ServerSQL Server Os administradores devem habilitar esse recurso para provedores seguros, que podem ser acessados por qualquer logon local.administrators should enable this feature for providers that are safe to be accessed by any local login.

RemarksRemarks

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 1Attempting to make an ad hoc connection with Ad Hoc Distributed Queries not enabled results in error: Msg 7415, Level 16, State 1, Line 1

Acesso ad hoc negado ao provedor OLE DB 'Microsoft.ACE.OLEDB.12.0'.Ad hoc access to OLE DB provider 'Microsoft.ACE.OLEDB.12.0' has been denied. É necessário acessar esse provedor através de um servidor vinculado.You must access this provider through a linked server.

ExemplosExamples

O exemplo a seguir habilita consultas distribuídas ad hoc e, em seguida, consulta um servidor chamado Seattle1 usando a função OPENROWSET .The following example enables ad hoc distributed queries and then queries a server named Seattle1 using the OPENROWSET function.

sp_configure 'show advanced options', 1;  
RECONFIGURE;
GO 
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émSee Also

Opções de configuração do servidor (SQL Server) Server Configuration Options (SQL Server)
Servidores vinculados (Mecanismo de Banco de Dados) Linked Servers (Database Engine)
OPENROWSET (Transact-SQL) OPENROWSET (Transact-SQL)
OPENDATASOURCE (Transact-SQL) OPENDATASOURCE (Transact-SQL)
sp_addlinkedserver (Transact-SQL)sp_addlinkedserver (Transact-SQL)