1222: Lock request time out period exceeded (se superó el tiempo de espera de la solicitud de bloqueo)
SQL Server¿Qué significa?
El timeout de una consulta expiró mientras esperaba adquirir un bloqueo. La solicitud se canceló porque otra transacción mantuvo bloqueado el recurso necesario demasiado tiempo.
¿Por qué ocurre?
Superar el tiempo de espera establecido con SET LOCK_TIMEOUT, transacciones bloqueantes de larga duración, transacciones abiertas sin commit, recorridos largos y conflictos de bloqueo.
Cómo solucionarlo
Encuentre al bloqueador: examine sys.dm_exec_requests, sys.dm_tran_locks y la columna blocking_session_id, o use sp_who2 / sp_whoisactive. Acorte las transacciones largas y confírmelas. Ajuste LOCK_TIMEOUT si es necesario. En sistemas con muchas lecturas, reduzca los conflictos lector-escritor con RCSI/snapshot isolation.
Más entradas de este motor
- 18456Login failed for user (error de inicio de sesión del usuario)
- 8152String or binary data would be truncated (los datos de cadena o binarios se truncarían)
- 2628String or binary data would be truncated in table, column ...; truncated value (los datos se truncarían en la tabla y columna indicadas)
- 9002The transaction log for database is full due to ... (el log de transacciones de la base de datos está lleno)
- 1105Could not allocate space for object in database because the filegroup is full (no se puede asignar espacio: el filegroup está lleno)
- 208Invalid object name (nombre de objeto no válido)
- 229The SELECT/EXECUTE permission was denied on the object (se denegó el permiso SELECT/EXECUTE sobre el objeto)