문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

sp_bindsession(Transact-SQL)

세션을 같은 SQL Server 데이터베이스 엔진 인스턴스의 다른 세션에 바인딩 또는 바인딩 해제합니다. 세션을 바인딩하면 두 개 이상의 세션이 같은 트랜잭션에 참가할 수 있으며 ROLLBACK TRANSACTION 또는 COMMIT TRANSACTION이 실행될 때까지 잠금을 공유할 수 있습니다.

중요 정보 중요

Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 응용 프로그램은 수정하십시오. 대신 MARS(Multiple Active Results Sets) 또는 분산 트랜잭션을 사용하십시오. 자세한 내용은 MARS(Multiple Active Result Sets) 사용을 참조하십시오.

항목 링크 아이콘 Transact-SQL 구문 표기 규칙

sp_bindsession { 'bind_token' | NULL }

' bind_token '

sp_getbindtoken 또는 개방형 데이터 서비스인 srv_getbindtoken 함수를 사용하여 처음에 확보된 트랜잭션을 식별하는 토큰입니다. bind_tokenvarchar(255)입니다.

0(성공) 또는 1(실패)

바인딩된 두 세션은 트랜잭션과 잠금만 공유합니다. 각 세션은 고유한 격리 수준을 유지하며 한 세션에서 새 격리 수준을 설정해도 다른 세션의 격리 수준에는 영향을 주지 않습니다. 각 세션은 보안 계정으로 계속 식별할 수 있으며 해당 계정이 권한을 부여 받은 데이터베이스 리소스에만 액세스할 수 있습니다.

sp_bindsession은 바인딩 토큰을 사용하여 두 개 이상의 기존 클라이언트 세션을 바인딩합니다. 이들 클라이언트 세션은 바인딩 토큰을 확보한 같은 데이터베이스 엔진 인스턴스에 있어야 합니다. 세션은 명령을 실행하는 클라이언트입니다. 바인딩된 데이터베이스 세션은 트랜잭션 및 잠금 공간을 공유합니다.

한 데이터베이스 엔진 인스턴스에서 확보한 바인딩 토큰은 DTC 트랜잭션을 포함해서 다른 인스턴스에 연결된 클라이언트 세션에 사용할 수 없습니다. 바인딩 토큰은 각 인스턴스 내에 로컬로만 유효하며 여러 인스턴스에 걸쳐 공유할 수 없습니다. 다른 데이터베이스 엔진 인스턴스에서 클라이언트 세션을 바인딩하려면 sp_getbindtoken을 실행하여 다른 바인딩 토큰을 확보해야 합니다.

sp_bindsession이 활성화되지 않은 토큰을 사용할 경우 오류가 발생하면서 실패합니다.

세션에서 바인딩을 해제하려면 bind_token을 지정하지 않고 sp_bindsession을 사용하거나 bind_token에 NULL을 전달합니다.

public 역할(role)의 멤버이어야 합니다.

다음 예에서는 지정된 바인딩 토큰을 현재 세션에 바인딩합니다.

참고 참고

이 예에서는 sp_bindsession을 실행하기 전에 sp_getbindtoken을 실행하여 바인딩 토큰을 확보했습니다.

USE master;
GO
EXEC sp_bindsession 'BP9---5---->KB?-V'<>1E:H-7U-]ANZ';
GO

커뮤니티 추가 항목

추가
표시: