Udostępnij za pośrednictwem


ad hoc distributed queries Option

Domyślnie SQL Server nie zezwala na ad hoc kwerend rozproszonych przy użyciu OPENROWSET i OPENDATASOURCE. Gdy ta opcja jest zestaw na 1, SQL Server zezwala na dostęp ad hoc. Gdy ta opcja nie jest ustawiona lub jest ustawiona na wartość 0, SQL Server nie zezwala na dostęp ad hoc.

Za pomocą funkcji OPENROWSET i OPENDATASOURCE kwerendy rozproszone ad hoc łączyć się ze źródłami dane zdalne, korzystające z OLE DB.OPENROWSET i OPENDATASOURCE należy używać tylko do odwołania źródła danych OLE DB, do których dostęp uzyskuje się rzadko.Dla dowolnego źródła danych, które będzie można uzyskać dostępu do więcej niż kilka razy zdefiniować serwer połączony.

Security noteSecurity Note:

Enabling the use of ad hoc names means that any authenticated login to SQL Server can access the provider.SQL Server administrators should enable this feature for providers that are safe to be accessed by any local login.Aby uzyskać więcej informacji, zobacz temat DisallowAdhocAccess w opcji Accessing External Data.

Przykłady

W poniższym przykładzie umożliwia kwerendy rozproszone ad hoc, a następnie wykonuje kwerendę na serwerze o nazwie Seattle1 przy użyciu funkcja OPENROWSET.

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 AdventureWorks.HumanResources.Department
      ORDER BY GroupName, Name') AS a;
GO