query distribuite ad hoc (opzione di configurazione del server)

Si applica a:SQL Server

Per impostazione predefinita, SQL Server non prevede l'uso di query distribuite ad hoc contenenti le funzioni OPENROWSET e OPENDATASOURCE. Quando questa opzione è impostata su 1, in SQL Server è possibile l'accesso ad hoc. Quando questa opzione non è impostata o è impostata su 0, in SQL Server non è possibile 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.

Se si consente l'uso dei nomi ad hoc, tutti gli account di accesso a SQL Server autenticati potranno accedere al provider. SQL Server richiede che gli amministratori abilitino questa funzionalità per i provider a cui è possibile accedere in modo sicuro tramite qualsiasi account di accesso locale.

Osservazioni:

Se si prova a creare una connessione ad hoc con le query distribuite ad hoc disabilitate, verrà visualizzato l'errore seguente:

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.  

Esempi

Nell'esempio seguente viene abilitata l'opzione ad hoc distributed queries e, successivamente, viene eseguita una query su un server denominato Seattle1 utilizzando la funzione OPENROWSET .

sp_configure 'show advanced options', 1;  
RECONFIGURE;
GO 
sp_configure 'Ad Hoc Distributed Queries', 1;  
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  

Database SQL di Azure e Istanza gestita di SQL di Azure

Per informazioni di riferimento, vedere Confronto di funzionalità: database SQL di Azure e Istanza gestita di SQL di Azure.

Vedi anche