Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Gilt für:SQL Server
Standardmäßig erlaubt SQL Server keine verteilten Ad-hoc-Abfragen mit OPENROWSETund 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