SET LOCK_TIMEOUT (Transact-SQL)

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-databas i Microsoft Fabric

Specificerar antalet millisekunder en sats väntar på att ett lås ska släppas.

Transact-SQL syntaxkonventioner

Syntax

SET LOCK_TIMEOUT timeout_period  

Arguments

timeout_period
Är antalet millisekunder som passerar innan Microsoft SQL Server ger ett låsfel. Ett värde på -1 (standard) indikerar ingen tidsavslutning (det vill säga vänta för evigt).

När väntan på lås överstiger time-out-värdet returneras ett fel. Värdet 0 betyder att man inte ska vänta alls och returnera ett meddelande så snart ett lås påträffas.

Anmärkningar

I början av en anslutning har denna inställning värdet -1. Efter att den ändrats kvarstår den nya inställningen under resten av anslutningen.

Inställningen för SET LOCK_TIMEOUT är satt vid exekverings- eller körningstid och inte vid parsetid.

READPAST-låstipset ger ett alternativ till detta SET-alternativ.

CREATE DATABASE, ALTER DATABASE och DROP DATABASE-satserna hedrar inte inställningen SET LOCK_TIMEOUT.

Permissions

Kräver medlemskap i offentlig roll.

Examples

S: Ställ in låsets timeout på 1800 millisekunder

Följande exempel sätter låstidstiden till 1800 millisekunder.

SET LOCK_TIMEOUT 1800;  
GO  

Exempel: Azure Synapse Analytics and Analytics Platform System (PDW)

B. Ställ in låsets timeout så att den väntar för evigt på att ett lås ska släppas.

Följande exempel sätter låsets timeout att vänta för evigt och aldrig gå ut. Detta är standardbeteendet som redan är inställt i början av varje anslutning.

SET LOCK_TIMEOUT -1;  

Följande exempel sätter låstidstiden till 1800 millisekunder. I denna version kommer Azure Synapse Analytics att tolka satsen framgångsrikt, men ignorerar värdet 1800 och fortsätter använda standardbeteendet.

SET LOCK_TIMEOUT 1800;  

Se även

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