SET LOCK_TIMEOUT (Transact-SQL)

 

**ESTE TEMA SE APLICA A:** ![](../Image/Applies%20to/yes.png)SQL Server \(a partir de 2008\) ![](../Image/Applies%20to/yes.png)Base de datos SQL de Azure ![](../Image/Applies%20to/yes.png)Almacenamiento de datos SQL de Azure ![](../Image/Applies%20to/yes.png)Almacenamiento de datos paralelos

Especifica el número de milisegundos que una instrucción espera a que se libere un bloqueo.

Se aplica a: de SQL Server (SQL Server 2008 a la versión actual), Base de datos SQL de Azure.

Topic link icon Convenciones de sintaxis de Transact-SQL

  
SET LOCK_TIMEOUT timeout_period  

timeout_period
Es el número de milisegundos que transcurrirán antes de que Microsoft SQL Server devuelva un error de bloqueo. El valor -1 (predeterminado) indica que no hay límite de espera (es decir que se espera indefinidamente).

Cuando se espera un bloqueo durante más tiempo que el indicado, se devuelve un error. El valor 0 significa no esperar y devolver un mensaje en cuanto se encuentre un bloqueo.

Al principio de una conexión, este valor es -1. Después de cambiarlo, el nuevo valor permanece en vigor para el resto de la conexión.

La opción SET LOCK_TIMEOUT se establece en tiempo de ejecución, no en tiempo de análisis.

La sugerencia de bloqueo READPAST es una alternativa a esta opción SET.

Las instrucciones CREATE DATABASE, ALTER DATABASE y DROP DATABASE no respetan el parámetro SET LOCK_TIMEOUT.

Debe pertenecer al rol public.

En el ejemplo siguiente se establece el período de tiempo de espera de bloqueo en 1800 milisegundos.

SET LOCK_TIMEOUT 1800;  
GO  

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

Adiciones de comunidad

Mostrar: