DBAtlas · Атлас эксплуатации баз данных

1222: Превышен тайм-аут запроса блокировки

SQL Server

Что это значит?

Истёк тайм-аут запроса во время ожидания получения блокировки. Запрос отменён, поскольку другая транзакция слишком долго удерживала необходимый ресурс заблокированным.

Почему возникает?

Превышение времени ожидания, заданного через SET LOCK_TIMEOUT, длительные блокирующие транзакции, открытые незафиксированные транзакции, длинные сканирования и конфликты блокировок.

Как исправить

Найдите блокирующего: изучите sys.dm_exec_requests, sys.dm_tran_locks и столбец blocking_session_id или используйте sp_who2 / sp_whoisactive. Укорачивайте длительные транзакции и фиксируйте их. При необходимости настройте LOCK_TIMEOUT. В системах с преобладанием чтения сокращайте конфликты читателей и писателей с помощью RCSI/snapshot isolation.

Открыть в DBAtlas →

Ещё по этой СУБД