SET LOCK_TIMEOUT (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)
Especifica o número de milissegundos que uma instrução espera para um bloqueio ser liberado.
Convenções de sintaxe de Transact-SQL
Sintaxe
SET LOCK_TIMEOUT timeout_period
Argumentos
timeout_period
É o número de milissegundos que se passarão antes que o Microsoft SQL Server retorne um erro de bloqueio. Um valor de -1 (padrão) indica nenhum tempo limite (isto é, esperar indefinidamente).
Quando uma espera por um bloqueio exceder o valor limite, um erro será retornado. Um valor de 0 significa não esperar e retornar uma mensagem assim que um bloqueio for encontrado.
Comentários
No começo de uma conexão esta configuração tem um valor de -1. Após ser alterado, a nova configuração permanece durante toda a conexão.
A configuração de SET LOCK_TIMEOU é definida no momento da execução e não no momento da análise.
A dica de bloqueio READPAST fornece uma alternativa para esta opção de SET.
Instruções CREATE DATABASE, ALTER DATABASE e DROP DATABASE não aceitam a configuração SET LOCK_TIMEOUT.
Permissões
Requer associação à função pública .
Exemplos
A: Definir o tempo limite de bloqueio como 1.800 milissegundos
O seguinte exemplo define o período de tempo limite de bloqueio para 1800
milissegundos.
SET LOCK_TIMEOUT 1800;
GO
Exemplos: Azure Synapse Analytics e PDW (Analytics Platform System)
B. Definir o tempo limite de bloqueio para esperar por um bloqueio ser liberado.
O exemplo a seguir define o tempo limite de bloqueio para esperar para sempre e nunca expirar. Esse é o comportamento padrão que já está definido no início de cada conexão.
SET LOCK_TIMEOUT -1;
O seguinte exemplo define o período de tempo limite de bloqueio para 1800
milissegundos. Nesta versão, o Azure Synapse Analytics analisará a instrução com êxito, mas vai ignorar o valor 1800 e continuar usando o comportamento padrão.
SET LOCK_TIMEOUT 1800;