DBAtlas · データベース運用アトラス

1222: Lock request time out period exceeded(ロック要求のタイムアウト期間を超過)

SQL Server

意味

ロックの取得を待つ間にクエリのタイムアウトが経過した。別のトランザクションが必要なリソースを長時間ロックしていたため、要求は取り消された。

原因

SET LOCK_TIMEOUT で設定した待機時間の超過、長時間実行されるブロッキングトランザクション、コミットされていないオープントランザクション、長いスキャン、ロックの競合。

対処方法

ブロッカーを特定する: sys.dm_exec_requests、sys.dm_tran_locks、blocking_session_id 列を調べるか、sp_who2 / sp_whoisactive を使う。長いトランザクションを短くしてコミットする。必要なら LOCK_TIMEOUT を調整する。読み取りの多いシステムでは RCSI/スナップショット分離でリーダーとライターの競合を減らす。

DBAtlas で開く →

同じデータベースの他の項目