임시 분산 쿼리 서버 구성 옵션ad hoc distributed queries Server Configuration Option

이 항목 적용 대상: 예SQL Server없습니다Azure SQL 데이터베이스없습니다Azure SQL 데이터 웨어하우스 없습니다 병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

기본적으로 SQL ServerSQL Server 에서는 OPENROWSET 및 OPENDATASOURCE를 사용하는 임시 분산 쿼리를 허용하지 않습니다.By default, SQL ServerSQL Server does not allow ad hoc distributed queries using OPENROWSET and OPENDATASOURCE. 이 옵션을 1로 설정하면 SQL ServerSQL Server 에서 임시 액세스가 허용됩니다.When this option is set to 1, SQL ServerSQL Server allows ad hoc access. 이 옵션을 설정하지 않거나 0로 설정하면 SQL ServerSQL Server 에서 임시 액세스가 허용되지 않습니다.When this option is not set or is set to 0, SQL ServerSQL Server does not allow ad hoc access.

임시 분산 쿼리에서는 OPENROWSET 및 OPENDATASOURCE 함수를 사용하여 OLE DB를 사용하는 원격 데이터 원본에 연결합니다.Ad hoc distributed queries use the OPENROWSET and OPENDATASOURCE functions to connect to remote data sources that use OLE DB. OPENROWSET과 OPENDATASOURCE는 자주 사용되지 않는 OLE DB 데이터 원본을 참조하기 위해서만 사용해야 합니다.OPENROWSET and OPENDATASOURCE should be used only to reference OLE DB data sources that are accessed infrequently. 여러 번 액세스될 모든 데이터 원본에 대해서는 연결된 서버를 정의해야 합니다.For any data sources that will be accessed more than several times, define a linked server.

중요

임시 이름 사용을 설정하면 SQL ServerSQL Server 에 대한 모든 인증된 로그인에서 공급자에 액세스할 수 있습니다.Enabling the use of ad hoc names means that any authenticated login to SQL ServerSQL Server can access the provider. SQL ServerSQL Server 관리자는 모든 로컬 로그인에서 액세스해도 안전한 공급자에 대해 이 기능을 설정해야 합니다. administrators should enable this feature for providers that are safe to be accessed by any local login.

주의Remarks

임시 분산 쿼리 가 설정되지 않은 임시 연결을 만들려고 하면 Msg 7415, Level 16, State 1, Line 1 오류가 발생합니다.Attempting to make an ad hoc connection with Ad Hoc Distributed Queries not enabled results in error: Msg 7415, Level 16, State 1, Line 1

OLE DB 공급자 'Microsoft.ACE.OLEDB.12.0'에 대한 임의 액세스가 거부되었습니다.Ad hoc access to OLE DB provider 'Microsoft.ACE.OLEDB.12.0' has been denied. 연결된 서버를 통해 이 공급자에 액세스해야 합니다.You must access this provider through a linked server.

Examples

다음 예에서는 임시 분산 쿼리를 실행한 다음 Seattle1 함수를 사용하여 OPENROWSET 이라는 서버를 쿼리합니다.The following example enables ad hoc distributed queries and then queries a server named Seattle1 using the OPENROWSET function.

sp_configure 'show advanced options', 1;  
RECONFIGURE;
GO 
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  

참고 항목See Also

서버 구성 옵션(SQL Server) Server Configuration Options (SQL Server)
연결된 서버(데이터베이스 엔진) Linked Servers (Database Engine)
OPENROWSET(Transact-SQL) OPENROWSET (Transact-SQL)
OPENDATASOURCE(Transact-SQL) OPENDATASOURCE (Transact-SQL)
sp_addlinkedserver(Transact-SQL)sp_addlinkedserver (Transact-SQL)