Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Domyślnie program SQL Server nie zezwala na rozproszone zapytania ad hoc przy użyciu poleceń OPENROWSET i OPENDATASOURCE. Gdy ta opcja jest ustawiona na 1, SQL Server zezwala na dostęp ad hoc. Jeśli ta opcja nie jest ustawiona lub jest ustawiona na 0wartość , program SQL Server nie zezwala na dostęp ad hoc.
Zapytania rozproszone ad hoc używają funkcji OPENROWSET i OPENDATASOURCE do łączenia się ze zdalnymi źródłami danych korzystającymi z OLE DB.
OPENROWSET i OPENDATASOURCE powinny być używane tylko do odwołowania się do źródeł danych OLE DB, do których uzyskuje się dostęp rzadko. W przypadku wszystkich źródeł danych, do których uzyskuje się dostęp więcej niż kilka razy, zdefiniuj połączony serwer.
Włączenie korzystania z nazw ad hoc oznacza, że każde uwierzytelnione konto programu SQL Server może uzyskać dostęp do dostawcy. Administratorzy SQL Server powinni włączyć tę funkcję dla dostawców, do których dostęp z dowolnego konta lokalnego jest bezpieczny.
Uwagi
Jeśli spróbujesz nawiązać połączenie ad hoc z Ad Hoc Distributed Queries wyłączonym, zostanie wyświetlony następujący błąd:
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.
Usługi Azure SQL Database i Azure SQL Managed Instance
Zobacz porównanie funkcji: Azure SQL Database i Azure SQL Managed Instance , aby uzyskać informacje.
Przykłady
Poniższy przykład włącza Ad Hoc Distributed Queries, a następnie wysyła zapytanie do serwera o nazwie Seattle1 za pomocą funkcji OPENROWSET.
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