ad hoc distributed queries (option de configuration de serveur)

S’applique à :SQL Server

Par défaut, SQL Server n'autorise pas les requêtes distribuées ad hoc avec les fonctions OPENROWSET et OPENDATASOURCE. Lorsque cette option est définie sur 1, SQL Server autorise l'accès d'égal à égal. Lorsque cette option n'est pas définie ou lorsqu'elle est définie sur 0, SQL Server ne permet pas non plus l'accès d'égal à égal.

Les requêtes distribuées ad hoc utilisent les fonctions OPENROWSET et OPENDATASOURCE pour la connexion aux sources de données distantes 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. Pour les sources de données faisant l'objet d'accès plus fréquents, définissez un serveur lié.

L'activation de l'utilisation de noms ad hoc signifie que toute connexion authentifiée à SQL Server peut accéder au fournisseur. SQL Server Les administrateurs doivent activer cette fonctionnalité pour les fournisseurs accessibles en toute sécurité via une connexion locale.

Notes

Si vous tentez d’établir une connexion ad hoc avec des requêtes distribuées ad hoc désactivées, l’erreur suivante s’affiche :

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.  

Exemples

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

Azure SQL Database et Azure SQL Managed Instance

Consultez l’article Comparaison des fonctionnalités : Azure SQL Database et Azure SQL Managed Instance pour référence.

Voir aussi