Udostępnij za pomocą


USTAW LOCK_TIMEOUT (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Database w Microsoft Fabric

Określa liczbę milisekund, przez jaką polecenie czeka na zwolnienie blokady.

Transact-SQL konwencje składni

Składnia

SET LOCK_TIMEOUT timeout_period  

Arguments

timeout_period
To liczba milisekund, która minie, zanim Microsoft SQL Server zwróci błąd blokowania. Wartość -1 (domyślnie) oznacza brak okresu przejścia (czyli czekania w nieskończoność).

Gdy oczekiwanie na blokadę przekroczy wartość limitu czasu, zwracany jest błąd. Wartość 0 oznacza, że w ogóle nie czekamy i zwracamy wiadomość natychmiast po napotkaniu blokady.

Uwagi

Na początku połączenia to ustawienie ma wartość -1. Po zmianie nowego ustawienia pozostają aktywne do końca połączenia.

Ustawienie SET LOCK_TIMEOUT jest ustawiane w czasie wykonywania lub działania, a nie w czasie parsowania.

Wskazówka blokowania READPAST stanowi alternatywę dla tej opcji SET.

Instrukcje CREATE DATABASE, ALTER DATABASE i DROP DATABASE nie respektują ustawień SET LOCK_TIMEOUT.

Permissions

Wymaga członkostwa w publicznej roli .

Przykłady

O: Ustaw czas blokady na 1800 milisekund

Poniższy przykład ustawia okres wyłączenia blokady na milisekundy 1800 .

SET LOCK_TIMEOUT 1800;  
GO  

Przykłady: Azure Synapse Analytics and Analytics Platform System (PDW)

B. Ustaw timeout blokady tak, żeby czekała wiecznie na odblokowanie blokady.

Poniższy przykład ustawia czas na blokadę tak, aby czekała wiecznie i nigdy nie wygasła. To domyślne zachowanie, które jest już ustawione na początku każdego połączenia.

SET LOCK_TIMEOUT -1;  

Poniższy przykład ustawia okres wyłączenia blokady na milisekundy 1800 . W tej wersji Azure Synapse Analytics pomyślnie przeanalizuje to zdanie, ale zignoruje wartość 1800 i będzie nadal używać domyślnego zachowania.

SET LOCK_TIMEOUT 1800;  

Zobacz też

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