SET LOCK_TIMEOUT (Transact-SQL)SET LOCK_TIMEOUT (Transact-SQL)

En este tema se aplica a: SíSQL Server (a partir de 2008)Síbase de datos de SQL AzureSíalmacenamiento de datos de SQL Azure Sí Almacenamiento de datos paralelos THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Especifica el número de milisegundos que una instrucción espera a que se libere un bloqueo.Specifies the number of milliseconds a statement waits for a lock to be released.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

SET LOCK_TIMEOUT timeout_period  

ArgumentosArguments

timeout_periodtimeout_period
Es el número de milisegundos que transcurrirán antes de que MicrosoftMicrosoft SQL ServerSQL Server devuelva un error de bloqueo.Is the number of milliseconds that will pass before MicrosoftMicrosoft SQL ServerSQL Server returns a locking error. El valor -1 (predeterminado) indica que no hay límite de espera (es decir que se espera indefinidamente).A value of -1 (default) indicates no time-out period (that is, wait forever).

Cuando se espera un bloqueo durante más tiempo que el indicado, se devuelve un error.When a wait for a lock exceeds the time-out value, an error is returned. El valor 0 significa no esperar y devolver un mensaje en cuanto se encuentre un bloqueo.A value of 0 means to not wait at all and return a message as soon as a lock is encountered.

NotasRemarks

Al principio de una conexión, este valor es -1.At the beginning of a connection, this setting has a value of -1. Después de cambiarlo, el nuevo valor permanece en vigor para el resto de la conexión.After it is changed, the new setting stays in effect for the remainder of the connection.

La opción SET LOCK_TIMEOUT se establece en tiempo de ejecución, no en tiempo de análisis.The setting of SET LOCK_TIMEOUT is set at execute or run time and not at parse time.

La sugerencia de bloqueo READPAST es una alternativa a esta opción SET.The READPAST locking hint provides an alternative to this SET option.

Las instrucciones CREATE DATABASE, ALTER DATABASE y DROP DATABASE no respetan el parámetro SET LOCK_TIMEOUT.CREATE DATABASE, ALTER DATABASE, and DROP DATABASE statements do not honor the SET LOCK_TIMEOUT setting.

PermisosPermissions

Debe pertenecer al rol public .Requires membership in the public role.

EjemplosExamples

A. Establecer el tiempo de espera de bloqueo en 1800 milisegundosA: Set the lock timeout to 1800 milliseconds

En el ejemplo siguiente se establece el período de tiempo de espera de bloqueo en 1800 milisegundos.The following example sets the lock time-out period to 1800 milliseconds.

SET LOCK_TIMEOUT 1800;  
GO  

Ejemplos: Almacenamiento de datos SQL de AzureAzure SQL Data Warehouse y Almacenamiento de datos paralelosParallel Data WarehouseExamples: Almacenamiento de datos SQL de AzureAzure SQL Data Warehouse and Almacenamiento de datos paralelosParallel Data Warehouse

B.B. Establecer el tiempo de espera de bloqueo para esperar indefinidamente a se libere un bloqueoSet the lock timeout to wait forever for a lock to be released.

En este ejemplo se establece el tiempo de espera de bloqueo para que espere indefinidamente y no expire nunca.The following example sets the lock timeout to wait forever and never expire. Este es el comportamiento predeterminado que ya está establecido al principio de cada conexión.This is the default behavior that is already set at the beginning of each connection.

SET LOCK_TIMEOUT -1;  

En el ejemplo siguiente se establece el período de tiempo de espera de bloqueo en 1800 milisegundos.The following example sets the lock time-out period to 1800 milliseconds. En esta versión, Almacenamiento de datos SQLSQL Data Warehouse analizará la instrucción correctamente, pero omitirá el valor 1800 y seguirá usando el comportamiento predeterminado.In this release, Almacenamiento de datos SQLSQL Data Warehouse will parse the statement successfully, but will ignore the value 1800 and continue to use the default behavior.

SET LOCK_TIMEOUT 1800;  

Ver tambiénSee Also

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