Opção ad hoc distributed queries

Por padrão, o SQL Server não permite consultas distribuídas ad hoc que usam OPENROWSET e OPENDATASOURCE. Quando esta opção é definida como 1, o SQL Server permite acesso ad hoc. Quando esta opção não é definida ou é definida como 0, o SQL Server não permite o acesso ad hoc.

As consultas distribuídas ad hoc usam as funções OPENROWSET e OPENDATASOURCE para se conectarem às origens 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 freqüência. Para qualquer fonte de dados que será acessada muitas vezes, defina um servidor vinculado.

Observação sobre segurançaObservação sobre segurança

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. Para obter mais informações, consulte a opção DisallowAdhocAccess em Acessando dados externos.

Exemplos

O exemplo a seguir habilita consultas distribuídas ad hoc e, em seguida, consulta um servidor chamado Seattle 1 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 AdventureWorks.HumanResources.Department
      ORDER BY GroupName, Name') AS a;
GO