DBAtlas · Atlas de operações de banco de dados

1222: Lock request time out period exceeded

SQL Server

O que significa?

O timeout de uma consulta expirou enquanto ela aguardava para adquirir um lock. A requisição foi cancelada porque outra transação manteve o recurso necessário bloqueado por tempo demais.

Por que acontece?

Ultrapassagem do tempo de espera definido com SET LOCK_TIMEOUT, transações bloqueadoras de longa duração, transações abertas sem commit, varreduras longas e conflitos de lock.

Como resolver

Encontre o bloqueador: examine sys.dm_exec_requests, sys.dm_tran_locks e a coluna blocking_session_id, ou use sp_who2 / sp_whoisactive. Encurte as transações longas e faça commit delas. Ajuste LOCK_TIMEOUT se necessário. Em sistemas com muita leitura, reduza os conflitos leitor-escritor com RCSI/snapshot isolation.

Abrir no DBAtlas →

Mais entradas deste banco