Partager via


Option de configuration du serveur de requêtes distribuées ad hoc

Par défaut, SQL Server n’autorise pas les requêtes distribuées ad hoc à l’aide d’OPENROWSET et OPENDATASOURCE. Lorsque cette option est définie sur 1, SQL Server autorise l’accès ad hoc. Lorsque cette option n’est pas définie ou est définie sur 0, SQL Server n’autorise pas l’accès ad hoc.

Les requêtes distribuées ad hoc utilisent les fonctions OPENROWSET et OPENDATASOURCE pour se connecter à des sources de données distantes qui utilisent OLE DB. OPENROWSET et OPENDATASOURCE doivent être utilisés uniquement pour référencer des sources de données OLE DB rarement accessibles. Pour toutes les sources de données accessibles plus de plusieurs fois, définissez un serveur lié.

Important

L’activation de l’utilisation de noms ad hoc signifie que toute connexion authentifiée à SQL Server peut accéder au fournisseur. Les administrateurs SQL Server doivent activer cette fonctionnalité pour les fournisseurs qui sont accessibles en toute sécurité par n’importe quelle connexion locale.

Remarques

La tentative d’établir une connexion ad hoc alors que les requêtes distribuées ad hoc ne sont pas activées entraîne l’erreur : Msg 7415, Niveau 16, État 1, Ligne 1

L’accès ad hoc au fournisseur OLE DB « Microsoft.ACE.OLEDB.12.0 » a été refusé. Vous devez accéder à ce fournisseur par le biais d'un serveur lié.

Exemples

L’exemple suivant active les requêtes distribuées ad hoc, puis interroge un serveur nommé Seattle1 à l’aide de la OPENROWSET fonction.

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  

Voir aussi

Options de configuration du serveur (SQL Server)
Serveurs liés (Moteur de base de données)
OPENROWSET (Transact-SQL)
OPENDATASOURCE (Transact-SQL)
sp_addlinkedserver (Transact-SQL)