Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics 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;