Opzione di configurazione del server ad hoc distributed queries
Per impostazione predefinita, SQL Server non consente query distribuite ad hoc usando 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, 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.
Importante
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 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 1
L'accesso ad hoc al provider OLE DB "Microsoft.ACE.OLEDB.12.0" è stato negato. Accedere al provider tramite un server collegato.
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;
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 anche
Opzioni di configurazione del server (SQL Server)
Server collegati (Motore di database)
OPENROWSET (Transact-SQL)
OPENDATASOURCE (Transact-SQL)
sp_addlinkedserver (Transact-SQL)