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/快照隔离减少读写冲突。
同一数据库的其他条目
- 18456Login failed for user(用户登录失败)
- 8152String or binary data would be truncated(字符串或二进制数据将被截断)
- 2628String or binary data would be truncated in table, column ...; truncated value(表、列 ... 中的字符串或二进制数据将被截断;截断的值)
- 9002The transaction log for database is full due to ...(数据库的事务日志已满,原因为 ...)
- 1105Could not allocate space for object in database because the filegroup is full(由于文件组已满,无法在数据库中为对象分配空间)
- 208Invalid object name(对象名无效)
- 229The SELECT/EXECUTE permission was denied on the object(拒绝了对对象的 SELECT/EXECUTE 权限)