다음을 통해 공유


Context Connection

적용 대상: SQL Server

내부 데이터 액세스 문제는 상당히 일반적인 시나리오입니다. 즉, CLR(공용 언어 런타임) 저장 프로시저나 함수가 실행 중인 서버와 동일한 서버에 액세스하려는 상황을 말합니다. 한 가지 옵션은 System.Data.SqlClient.SqlConnection을 사용하여 연결을 만들고, 로컬 서버를 가리키는 연결 문자열 지정하고, 연결을 여는 것입니다. 이를 수행하려면 로그인에 사용할 자격 증명을 지정해야 합니다. 연결은 저장 프로시저 또는 함수와 다른 데이터베이스 세션에 있고, SET 옵션이 다를 수 있으며, 별도의 트랜잭션에 있고, 임시 테이블이 표시되지 않는 등입니다. 사용자의 관리 저장 프로시저 또는 함수 코드가 SQL Server 서버 프로세스에서 실행되는 경우 다른 사용자가 해당 서버에 연결하고 SQL 문을 실행하여 이를 호출했기 때문입니다. 트랜잭션, SET 옵션 등과 함께 해당 연결의 컨텍스트에서 저장 프로시저 또는 함수를 실행하려고 할 수 있습니다. 이를 컨텍스트 연결이라고 합니다.

컨텍스트 연결을 사용하면 Transact-SQL 문을 처음 코드를 호출한 곳과 동일한 컨텍스트에서 실행할 수 있습니다. 컨텍스트 연결을 얻으려면 다음 예와 같이 "context connection" 연결 문자열 키워드를 사용해야 합니다.

[C#]

using(SqlConnection connection = new SqlConnection("context connection=true"))   
{  
    connection.Open();  
    // Use the connection  
}  

[Visual Basic]

Using connection as new SqlConnection("context connection=true")  
    connection.Open()  
    ' Use the connection  
End Using  
  

섹션 내용

일반 연결과 컨텍스트 연결 비교
일반 연결과 컨텍스트 연결의 차이를 설명합니다.

일반 및 컨텍스트 연결에 대한 제한 사항
일반 및 컨텍스트 연결에 대한 제한 사항에 대해 설명합니다.