임시 분산 쿼리(서버 구성 옵션)

적용 대상:SQL Server

기본적으로 SQL Server에서는 OPENROWSET 및 OPENDATASOURCE를 사용하는 임시 분산 쿼리를 허용하지 않습니다. 이 옵션을 1로 설정하면 SQL Server가 임시 액세스를 허용합니다. 이 옵션을 설정하지 않거나 0으로 설정하면 SQL Server는 임시 액세스를 허용하지 않습니다.

임시 분산 쿼리에서는 OPENROWSET 및 OPENDATASOURCE 함수를 사용하여 OLE DB를 사용하는 원격 데이터 원본에 연결합니다. OPENROWSET 및 OPENDATASOURCE는 자주 액세스하지 않는 OLE DB 데이터 원본을 참조하는 데만 사용해야 합니다. 여러 차례 액세스되는 데이터 원본에 대해서는 연결된 서버를 정의하세요.

임시 이름을 사용하도록 설정하면 SQL Server에 대한 인증된 로그인으로 공급자에 액세스할 수 있습니다. SQL Server 관리자는 모든 로컬 로그인에서 액세스해도 안전한 공급자에 대해 이 기능을 설정해야 합니다.

설명

임시 분산 쿼리를 사용하지 않도록 설정하여 임시 연결을 시도하는 경우 다음 오류가 표시됩니다.

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.  

예제

다음 예에서는 임시 분산 쿼리를 사용하도록 설정한 다음, OPENROWSET 함수를 사용하여 Seattle1이라는 서버를 쿼리합니다.

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

Azure SQL Database 및 Azure SQL Managed Instance를 참조하세요.

기능 비교: Azure SQL Database 및 Azure SQL Managed Instance를 참조하세요.

참고 항목