Ostatnio zaktualizowane 2023/02/26 przez admin
Funkcja MSSQL @@LOCK_TIMEOUT. Jak obliczyć?
Funkcja @@LOCK_TIMEOUT jest jedną z wielu funkcji systemowych w SQL Server, która służy do określenia czasu oczekiwania na uzyskanie blokady. Gdy aplikacja próbuje uzyskać blokadę, a inny proces już ją posiada, aplikacja musi czekać na uwolnienie blokady. Jeśli czas oczekiwania przekroczy wartość ustawioną w @@LOCK_TIMEOUT, aplikacja otrzyma komunikat o błędzie.
Składnia funkcji @@LOCK_TIMEOUT jest bardzo prosta. Wygląda ona następująco:
SELECT @@LOCK_TIMEOUT
Funkcja ta zwraca wartość czasu oczekiwania w milisekundach. Domyślna wartość to -1, co oznacza, że aplikacja będzie czekać na uwolnienie blokady bez końca. Aby zmienić wartość, należy użyć następującej składni:
SET LOCK_TIMEOUT {wartość w milisekundach}
Na przykład, jeśli chcesz ustawić czas oczekiwania na 10 sekund, możesz użyć następującego polecenia:
SET LOCK_TIMEOUT 10000
Jeśli aplikacja próbuje uzyskać blokadę, a inny proces już ją posiada, aplikacja będzie czekać na uwolnienie blokady przez 10 sekund. Jeśli blokada nie zostanie uwolniona w tym czasie, aplikacja otrzyma komunikat o błędzie.

Źródło: microsoft.com