Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: SQL Server
Standardmäßig erlaubt SQL Server keine verteilten Ad-hoc-Abfragen mit OPENROWSET
und OPENDATASOURCE
. 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 Funktionen OPENROWSET
und OPENDATASOURCE
, 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 jedes SQL Server-Konto auf den Anbieter zugreifen kann. SQL Server-Administratoren sollten diese Feature für Anbieter aktivieren, auf die jedes lokale Konto sicher zugreifen kann.
Hinweise
Wenn Sie versuchen, eine Ad-hoc-Verbindung mit Ad Hoc Distributed Queries
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.
Azure SQL-Datenbank und Azure SQL Managed Instance
Nutzen Sie den Featurevergleich: Azure SQL-Datenbank und Azure SQL Managed Instance als Referenz.
Beispiele
Im folgenden Beispiel werden Ad Hoc Distributed Queries
aktiviert und anschließend ein Server mit dem Namen Seattle1
mithilfe der OPENROWSET
-Funktion abgefragt.
USE master;
GO
EXECUTE sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXECUTE sp_configure 'Ad Hoc Distributed Queries', 1;
GO
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
EXECUTE sp_configure 'show advanced options', 0;
GO
RECONFIGURE;
GO