Freigeben über


Ad-hoc verteilte Abfragen Server-Konfigurationsoption

Standardmäßig lässt SQL Server keine ad-hoc verteilten Abfragen mit OPENROWSET und OPENDATASOURCE zu. Wenn diese Option auf 1 festgelegt ist, ermöglicht SQL Server ad-hoc-Zugriff. Wenn diese Option nicht festgelegt ist oder auf 0 gesetzt ist, lässt SQL Server keinen Ad-hoc-Zugriff zu.

Ad-hoc verteilte Abfragen verwenden die Funktionen OPENROWSET und OPENDATASOURCE, um eine Verbindung mit Remotedatenquellen herzustellen, die OLE DB verwenden. OPENROWSET und OPENDATASOURCE sollten nur zum Verweisen auf OLE DB-Datenquellen verwendet werden, auf die selten zugegriffen wird. Definieren Sie für alle Datenquellen, auf die mehr als mehrmals zugegriffen wird, einen verknüpften Server.

Von Bedeutung

Die Aktivierung der Verwendung von Ad-hoc-Namen bedeutet, dass jede authentifizierte Anmeldung bei SQL Server auf den Anbieter zugreifen kann. SQL Server-Administratoren sollten dieses Feature für Anbieter aktivieren, auf die über eine lokale Anmeldung sicher zugegriffen werden kann.

Bemerkungen

Der Versuch, eine Ad-hoc-Verbindung mit Ad Hoc Distributed Queries herzustellen, wenn diese nicht aktiviert sind, führt zu einem Fehler: Msg 7415, Level 16, State 1, Zeile 1

Ad-hoc-Zugriff auf OLE DB-Anbieter "Microsoft.ACE.OLEDB.12.0" wurde verweigert. Sie müssen auf diesen Anbieter über einen Verbindungsserver zugreifen.

Beispiele

Im folgenden Beispiel werden ad-hoc verteilte Abfragen ermöglicht, und anschließend wird ein Server mit dem Namen Seattle1 mithilfe der OPENROWSET-Funktion abgefragt.

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  

Siehe auch

Serverkonfigurationsoptionen (SQL Server)
Verbindungsserver (Datenbank-Engine)
OPENROWSET (Transact-SQL)
OPENDATASOURCE (Transact-SQL)
sp_addlinkedserver (Transact-SQL)