SET LOCK_TIMEOUT(Transact-SQL)
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)
잠금이 해제될 때가지 문이 기다려야 할 시간(밀리초)을 지정합니다.
구문
SET LOCK_TIMEOUT timeout_period
인수
timeout_period
Microsoft SQL Server에서 잠금 오류를 반환할 때까지 기다리는 시간을 밀리초 단위로 지정한 숫자입니다. -1(기본값)은 제한 시간이 없음(무기한 대기)을 나타냅니다.
기다리는 시간이 제한 시간 값을 초과하면 오류가 반환됩니다. 0은 기다리지 않음을 나타내고 잠금이 있으면 바로 오류 메시지가 반환됩니다.
설명
연결을 시작할 때는 이 설정이 -1로 되어 있습니다. 이 값을 변경하면 연결의 나머지 부분에서는 새 설정 값이 적용됩니다.
SET LOCK_TIMEOUT 옵션은 실행 시간 또는 런타임에 설정되며, 구문 분석 시에는 설정되지 않습니다.
이 SET 옵션 대신 READPAST 잠금 참고를 사용할 수도 있습니다.
CREATE DATABASE, ALTER DATABASE 및 DROP DATABASE 문은 SET LOCK_TIMEOUT 설정을 인식하지 못합니다.
사용 권한
public 역할의 멤버 자격이 필요합니다.
예제
1. 잠금 시간 제한을 1800 밀리초로 설정
다음 예에서는 잠금 제한 시간을 1800
밀리초로 설정합니다.
SET LOCK_TIMEOUT 1800;
GO
예: Azure Synapse Analytics 및 분석 플랫폼 시스템(PDW)
B. 잠금이 해제될 때까지 계속 대기하도록 잠금 제한 시간을 설정합니다.
다음 예제에서는 잠금 대기 시간을 무기한 대기하고 만료되지 않도록 설정합니다. 이는 각 연결이 시작될 때 이미 설정된 기본 동작입니다.
SET LOCK_TIMEOUT -1;
다음 예에서는 잠금 제한 시간을 1800
밀리초로 설정합니다. 이 릴리스에서는 Azure Synapse Analytics이 문을 성공적으로 구문 분석하지만 값 1800을 무시하고 기본 동작을 계속 사용합니다.
SET LOCK_TIMEOUT 1800;