다음을 통해 공유


SET LOCK_TIMEOUT(Transact-SQL)

적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

잠금이 해제될 때가지 문이 기다려야 할 시간(밀리초)을 지정합니다.

Transact-SQL 구문 표기 규칙

구문

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;  

참고 항목

@@LOCK_TIMEOUT(Transact-SQL)
SET 문(Transact-SQL)