Megosztás a következőn keresztül:


SET LOCK_TIMEOUT (Transact-SQL)

Vonatkozik a következőkre:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalitikai Platform System (PDW)SQL adatbázis a Microsoft Fabric-ben

Megadja, hány milliszekundumot vár egy állítás a zár feloldására.

Transact-SQL szintaxis konvenciók

Szemantika

SET LOCK_TIMEOUT timeout_period  

Arguments

timeout_period
Az a milliszekundum, ami eltelik a Microsoft SQL Server zárolási hibája előtt. Egy -1 (alapértelmezett) érték azt jelzi, hogy nincs időkorlát (azaz örökké várni).

Ha egy zárra való várakozás meghaladja az időkorlátot, hiba jelenik meg. A 0 érték azt jelenti, hogy egyáltalán nem várunk, és azonnal visszaküldünk egy üzenetet, amint zárolással találkozunk.

Megjegyzések

A kapcsolat elején ennek a beállításnak -1 értéke van. Miután megváltoztatták, az új beállítás a kapcsolat hátralévő részében is érvényben marad.

A SET LOCK_TIMEOUT beállítása végrehajtási vagy futási időre van beállítva, nem parze-időben.

A READPAST zárolási tipp alternatívát kínál ehhez a SET opcióhoz.

A CREATE DATABASE, ALTER DATABASE és DROP DATABASE utasítások nem tisztelik a SET LOCK_TIMEOUT beállítást.

Permissions

A nyilvános szerepkör tagságát igényli.

Példák

V: Állítsuk be a zár időkorlátját 1800 milliszekundumra

A következő példa a zárolás időkorlátját milliszekundumokra 1800 állítja be.

SET LOCK_TIMEOUT 1800;  
GO  

Példák: Azure Synapse Analytics and Analytics Platform System (PDW)

B. Állítsd be a zár időkorlátot, hogy örökké várjon a zár feloldására.

A következő példa a zár időkorlátját úgy állítja be, hogy örökre várjon, és soha ne járjon le. Ez az alapértelmezett viselkedés, amely már minden kapcsolat elején be van állítva.

SET LOCK_TIMEOUT -1;  

A következő példa a zárolás időkorlátját milliszekundumokra 1800 állítja be. Ebben a kiadásban az Azure Synapse Analytics sikeresen elemzi a kijelentést, de figyelmen kívül hagyja a 1800 értéket, és továbbra is az alapértelmezett viselkedést használja.

SET LOCK_TIMEOUT 1800;  

Lásd még:

@@LOCK_TIMEOUT (Transact-SQL)
SET-utasítások (Transact-SQL)