ad hoc distributed queries (Serverkonfigurationsoption)

Gilt für:SQL Server

Standardmäßig ist in SQL Server nicht zulässig, für verteilte Ad-hoc-Abfragen OPENROWSET und OPENDATASOURCE zu verwenden. Wird diese Option auf 1 festgelegt, ist in SQL Server der Ad-hoc-Zugriff zulässig. Wenn diese Option nicht festgelegt oder auf 0 festgelegt wird, ist in SQL Server kein Ad-hoc-Zugriff zulässig.

Verteilte Ad-hoc-Abfragen verwenden die OPENROWSET- und OPENDATASOURCE-Funktionen, um eine Verbindung mit Remotedatenquellen herzustellen, die OLE DB verwenden. OPENROWSET und OPENDATASOURCE sollten nur für Verweise auf OLE DB-Datenquellen verwendet werden, auf die selten zugegriffen wird. Definieren Sie einen Verbindungsserver für Datenquellen, auf die mehr als nur wenige Male zugegriffen wird.

Das Aktivieren der Verwendung von Ad-hoc-Namen bedeutet, dass jede authentifizierte Anmeldung an SQL Server auf den Anbieter zugreifen kann. SQL Server -Administratoren sollten diese Funktion für Anbieter aktivieren, auf die von jeder lokalen Anmeldung sicher zugegriffen werden kann.

Bemerkungen

Wenn Sie versuchen, eine Ad-hoc-Verbindung mit ad hoc verteilten Abfragen zu deaktivieren, wird der folgende Fehler angezeigt:

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.  

Beispiele

Im folgenden Beispiel werden 'Ad Hoc Distributed Queries' aktiviert und anschließend ein Server mit dem Namen Seattle1 mithilfe der OPENROWSET -Funktion abgefragt.

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-Datenbank und Azure SQL Managed Instance

Nutzen Sie den Featurevergleich: Azure SQL-Datenbank und Azure SQL Managed Instance als Referenz.

Siehe auch