내보내기(0) 인쇄
모두 확장
확장 최소화
이 문서는 수동으로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본

sp_releaseapplock(Transact-SQL)

응용 프로그램 리소스에서 잠금을 해제합니다.

적용 대상: SQL Server(SQL Server 2008 - current version), Windows Azure SQL 데이터베이스(최초 릴리스 - 현재 릴리스)

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

sp_releaseapplock [ @Resource = ] 'resource_name' 
     [ , [ @LockOwner = ] 'lock_owner' ]
     [ , [ @DbPrincipal = ] 'database_principal' ]
[ ; ]

[ @Resource= ] 'resource_name'

클라이언트 응용 프로그램이 지정한 잠금 리소스의 이름입니다. 응용 프로그램은 리소스가 고유한지 확인해야 합니다. 지정된 이름은 SQL Server 잠금 관리자에 저장할 수 있는 값으로 내부적으로 해시됩니다. resource_namenvarchar(255)이며 기본값은 없습니다. resource_name은 이진 비교되므로 현재 데이터베이스의 데이터 정렬 설정에 관계없이 대/소문자를 구분합니다.

[ @LockOwner= ] 'lock_owner'

잠금의 소유자이며 잠금이 요청될 때 lock_owner 값입니다. lock_ownernvarchar(32)입니다. 값은 Transaction(기본값) 또는 Session일 수 있습니다. lock_owner 값이 기본적으로 Transaction이거나 명시적으로 이와 같이 지정되면 sp_getapplock은 트랜잭션 내에서 실행되어야 합니다.

[ @DbPrincipal= ] 'database_principal'

데이터베이스의 개체에 대한 사용 권한이 있는 사용자, 역할 또는 응용 프로그램 역할입니다. 함수를 성공적으로 호출하려면 이 함수의 호출자가 database_principal, dbo 또는 db_owner 고정 데이터베이스 역할의 멤버여야 합니다. 기본값은 public입니다.

>= 0(성공) 또는 < 0(실패)

결과

0

잠금이 성공적으로 해제되었습니다.

-999

매개 변수 유효성 검사 또는 다른 호출에서 오류가 발생했음을 나타냅니다.

응용 프로그램이 동일한 잠금 리소스에 대해 sp_getapplock을 여러 번 호출한 경우에는 잠금을 해제하는 데도 동일한 횟수만큼 sp_releaseapplock을 호출해야 합니다.

어떤 이유로든 서버가 종료되면 잠금은 해제됩니다.

public 역할의 멤버 자격이 필요합니다.

다음 예에서는 AdventureWorks2012 데이터베이스의 Form1 리소스에 대해 현재 트랜잭션과 연관된 잠금을 해제합니다.

USE AdventureWorks2012;
GO
EXEC sp_getapplock @DbPrincipal = 'dbo', @Resource = 'Form1', 
     @LockMode = 'Shared';
EXEC sp_releaseapplock @DbPrincipal = 'dbo', @Resource = 'Form1';
GO

커뮤니티 추가 항목

추가
표시:
© 2014 Microsoft