ad hoc distributed queries (option de configuration de serveur)ad hoc distributed queries Server Configuration Option

CETTE RUBRIQUE S’APPLIQUE À :ouiSQL Server (à partir de la version 2008)nonAzure SQL DatabasenonAzure SQL Data Warehouse nonParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Par défaut, SQL ServerSQL Server n'autorise pas les requêtes distribuées ad hoc avec les fonctions OPENROWSET et OPENDATASOURCE.By default, SQL ServerSQL Server does not allow ad hoc distributed queries using OPENROWSET and OPENDATASOURCE. Lorsque cette option est définie sur 1, SQL ServerSQL Server autorise l'accès d'égal à égal.When this option is set to 1, SQL ServerSQL Server allows ad hoc access. Lorsque cette option n'est pas définie ou lorsqu'elle est définie sur 0, SQL ServerSQL Server ne permet pas non plus l'accès d'égal à égal.When this option is not set or is set to 0, SQL ServerSQL Server does not allow ad hoc access.

Les requêtes distribuées ad hoc utilisent les fonctions OPENROWSET et OPENDATASOURCE pour la connexion aux sources de données distantes OLE DB.Ad hoc distributed queries use the OPENROWSET and OPENDATASOURCE functions to connect to remote data sources that use OLE DB. OPENROWSET et OPENDATASOURCE doivent être utilisés uniquement pour faire référence à des sources de données OLE DB faisant l'objet d'accès peu fréquents.OPENROWSET and OPENDATASOURCE should be used only to reference OLE DB data sources that are accessed infrequently. Pour les sources de données faisant l'objet d'accès plus fréquents, définissez un serveur lié.For any data sources that will be accessed more than several times, define a linked server.

Important

L'activation de l'utilisation de noms ad hoc signifie que toute connexion authentifiée à SQL ServerSQL Server peut accéder au fournisseur.Enabling the use of ad hoc names means that any authenticated login to SQL ServerSQL Server can access the provider. SQL ServerSQL Server Les administrateurs doivent activer cette fonctionnalité pour les fournisseurs accessibles en toute sécurité via une connexion locale. administrators should enable this feature for providers that are safe to be accessed by any local login.

NotesRemarks

Toute tentative d’établissement d’une connexion ad hoc alors que l’option Requêtes distribuées ad hoc n’est pas activée génère une erreur : Msg 7415, Niveau 16, État 1, Ligne 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'accès d'égal à égal au fournisseur OLE DB « Microsoft.ACE.OLEDB.12.0 » a été refusé.Ad hoc access to OLE DB provider 'Microsoft.ACE.OLEDB.12.0' has been denied. Vous devez accéder à ce fournisseur par le biais d'un serveur lié.You must access this provider through a linked server.

ExemplesExamples

L'exemple suivant active des requêtes distribuées ad hoc puis interroge un serveur nommé Seattle1 à l'aide de la fonction 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  

Voir aussiSee Also

Options de configuration de serveur (SQL Server) Server Configuration Options (SQL Server)
Serveurs liés (moteur de base de données) Linked Servers (Database Engine)
OPENROWSET (Transact-SQL) OPENROWSET (Transact-SQL)
OPENDATASOURCE (Transact-SQL) OPENDATASOURCE (Transact-SQL)
sp_addlinkedserver (Transact-SQL)sp_addlinkedserver (Transact-SQL)