Sdílet prostřednictvím


NASTAV LOCK_TIMEOUT (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)databáze SQL v Microsoft Fabric

Určuje počet milisekund, po kterých příkaz čeká na uvolnění zámku.

Transact-SQL konvence syntaxe

Syntaxe

SET LOCK_TIMEOUT timeout_period  

Arguments

timeout_period
Je počet milisekund, které uplynou, než Microsoft SQL Server vrátí chybu při uzamčení. Hodnota -1 (výchozí) znamená neexistenci časové doby (tedy čekání věčně).

Pokud čekání na zámek překročí hodnotu vypršení času, vrátí se chyba. Hodnota 0 znamená, že se vůbec nečeká a že se vrátí zpráva hned, jakmile narazíte na zámek.

Poznámky

Na začátku spojení má toto nastavení hodnotu -1. Po jeho změně zůstává nové nastavení v platnosti po zbytek připojení.

Nastavení SET LOCK_TIMEOUT je nastaveno při spuštění nebo běhu a nikoli při parse.

Náznak k uzamčení READPAST nabízí alternativu k této možnosti SET.

Příkazy CREATE DATABASE, ALTER DATABASE a DROP DATABASE nerespektují nastavení SET LOCK_TIMEOUT.

Povolení

Vyžaduje členství ve veřejné roli .

Examples

Odpověď: Nastavte časový limit zámku na 1800 milisekund

Následující příklad nastavuje dobu vypršení zámku na 1800 milisekundy.

SET LOCK_TIMEOUT 1800;  
GO  

Příklady: Azure Synapse Analytics a Analytický platformový systém (PDW)

B. Nastavte timeout zámku tak, aby čekal věčnost, než se zámek uvolní.

Následující příklad nastavuje časový limit zámku tak, aby čekal věčně a nikdy nevypršel. Toto je výchozí chování, které je již nastavené na začátku každého spojení.

SET LOCK_TIMEOUT -1;  

Následující příklad nastavuje dobu vypršení zámku na 1800 milisekundy. V této verzi Azure Synapse Analytics úspěšně zpracuje toto tvrzení, ale ignoruje hodnotu 1800 a bude pokračovat v používání výchozího chování.

SET LOCK_TIMEOUT 1800;  

Viz také

@@LOCK_TIMEOUT (Transact-SQL)
Příkazy SET (Transact-SQL)