Condividi tramite


Opzione Ad Hoc Distributed Queries

Per impostazione predefinita, SQL Server non consente query distribuite ad hoc tramite OPENROWSET e OPENDATASOURCE. Quando questa opzione è impostata su 1, SQL Server consente l'accesso ad hoc. Quando questa opzione non è impostata o è impostata su 0, SQL Server non consente l'accesso ad hoc.

Le query distribuite ad hoc utilizzano le funzioni OPENROWSET e OPENDATASOURCE per connettersi alle origini dei dati remote che utilizzano OLE DB. È consigliabile utilizzare le funzioni OPENROWSET e OPENDATASOURCE solo per fare riferimento a origini dei dati OLE DB a cui si accede raramente. Per le origini dei dati a cui è necessario accedere con maggiore frequenza, è possibile definire un server collegato.

Nota sulla protezioneNota sulla protezione

Se si consente l'utilizzo dei nomi ad hoc, tutti gli account di accesso a SQL Server autenticati potranno accedere al provider. Gli amministratori di SQL Server devono attivare questa funzionalità per i provider a cui è possibile accedere in modo sicuro tramite qualsiasi account di accesso locale. Per ulteriori informazioni, vedere l'opzione DisallowAdhocAccess in Accesso a dati esterni.

Esempi

Nell'esempio seguente vengono attivate le query distribuite ad hoc, quindi viene eseguita una query su un server denominato Seattle1 utilizzando la funzione 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