Opzione di configurazione del server ad hoc distributed queriesad hoc distributed queries Server Configuration Option

In questo argomento si applica a: SìSQL ServernonDatabase SQL di AzurenonAzure SQL Data Warehouse non Parallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Per impostazione predefinita, SQL ServerSQL Server non prevede l'utilizzo query distribuite ad hoc contenenti le funzioni OPENROWSET e OPENDATASOURCE.By default, SQL ServerSQL Server does not allow ad hoc distributed queries using OPENROWSET and OPENDATASOURCE. Quando questa opzione è impostata su 1, in SQL ServerSQL Server è possibile l'accesso ad hoc.When this option is set to 1, SQL ServerSQL Server allows ad hoc access. Quando questa opzione non è impostata o è impostata su 0, in SQL ServerSQL Server non è possibile l'accesso ad hoc.When this option is not set or is set to 0, SQL ServerSQL Server does not allow ad hoc access.

Le query distribuite ad hoc utilizzano le funzioni OPENROWSET e OPENDATASOURCE per connettersi alle origini dei dati remote che utilizzano OLE DB.Ad hoc distributed queries use the OPENROWSET and OPENDATASOURCE functions to connect to remote data sources that use OLE DB. È consigliabile utilizzare le funzioni OPENROWSET e OPENDATASOURCE solo per fare riferimento a origini dei dati OLE DB a cui si accede raramente.OPENROWSET and OPENDATASOURCE should be used only to reference OLE DB data sources that are accessed infrequently. Per le origini dei dati a cui è necessario accedere con maggiore frequenza, è possibile definire un server collegato.For any data sources that will be accessed more than several times, define a linked server.

Importante

Se si consente l'utilizzo dei nomi ad hoc, tutti gli account di accesso a SQL ServerSQL Server autenticati potranno accedere al provider.Enabling the use of ad hoc names means that any authenticated login to SQL ServerSQL Server can access the provider. SQL ServerSQL Server richiede che gli amministratori abilitino questa funzionalità per i provider a cui è possibile accedere in modo sicuro tramite qualsiasi account di accesso locale. administrators should enable this feature for providers that are safe to be accessed by any local login.

OsservazioniRemarks

Se si prova a eseguire una connessione ad hoc con l'opzione Query distribuite ad hoc abilitate non abilitata, viene restituito l'errore: Messaggio 7415, livello 16, stato 1, riga 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

L'accesso ad hoc al provider OLE DB "Microsoft.ACE.OLEDB.12.0" è stato negato.Ad hoc access to OLE DB provider 'Microsoft.ACE.OLEDB.12.0' has been denied. Accedere al provider tramite un server collegato.You must access this provider through a linked server.

EsempiExamples

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 .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  

Vedere ancheSee Also

Opzioni di configurazione del server (SQL Server) Server Configuration Options (SQL Server)
Server collegati (Motore di database) Linked Servers (Database Engine)
OPENROWSET (Transact-SQL) OPENROWSET (Transact-SQL)
OPENDATASOURCE (Transact-SQL) OPENDATASOURCE (Transact-SQL)
sp_addlinkedserver (Transact-SQL)sp_addlinkedserver (Transact-SQL)