SET LOCK_TIMEOUT (Transact-SQL)

Spécifie le nombre de millisecondes qu'attend une instruction avant la libération d'un verrou.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

SET LOCK_TIMEOUT timeout_period

Argument

  • timeout_period
    Nombre de millisecondes écoulées avant que MicrosoftSQL Server ne renvoie une erreur de verrouillage. La valeur -1 (par défaut) indique qu'il n'y a pas de délai d'expiration (et par conséquent une attente infinie).

    Si le délai d'attente avant la libération d'un verrou est supérieur au délai d'expiration spécifié, une erreur est renvoyée. Une valeur égale à 0 signifie que l'instruction n'attend pas et qu'elle retourne un message dès qu'elle rencontre un verrou.

Notes

Au début d'une connexion, la valeur est de -1. Une fois celle-ci modifiée, elle reste en vigueur pour le reste de la durée de la connexion.

L'option SET LOCK_TIMEOUT est appliquée lors de l'exécution, et non pas lors de l'analyse.

L'indicateur de verrouillage READPAST est une alternative à cette option SET.

Les instructions CREATE DATABASE, ALTER DATABASE et DROP DATABASE ignorent le paramètre SET LOCK_TIMEOUT.

Autorisations

Nécessite l'appartenance au rôle public.

Exemple

L'exemple suivant définit le délai d'attente de déverrouillage à 1800 millisecondes.

SET LOCK_TIMEOUT 1800
GO