SQL 有时遇到
已超过了锁请求超时时段。 (Microsoft SQL Server,错误: 1222)
这个错误,刷新以后,右击某张表或者库,发现里面的表全部消失了 或者查询不到。
这是因为 SQL进程死锁,资源被抢占,要解决这个问题,得杀死关闭 死锁的进程,下面介绍解决方案:
————————————————
杀死进程的前提是找到 那个死锁的进程
SELECT blocking_session_id '阻塞进程的ID', wait_duration_ms '等待时间(毫秒)', session_id '(会话ID)' FROM sys.dm_os_waiting_tasks
这句SQL就可以查询到当前阻塞进程的ID
下面只要杀死这些进程就可以了
kill spid(进程ID) 或者 exec(‘kill’ ‘spid’)
这样就可以了 重新刷新下 库 一切正常了文章来源:https://www.toymoban.com/news/detail-522887.html
顺便介绍下相关内容的另外两个SQL文章来源地址https://www.toymoban.com/news/detail-522887.html
--查询当前活动的锁管理器资源的信息
SELECT resource_type '资源类型',request_mode '请求模式',request_type '请求类型',request_status '请求状态',request_session_id '会话ID' FROM sys.dm_tran_locks
--查询数据库进程(where 筛选库)
select spId from master..SysProcesses
where db_Name(dbID) = 'text' and spId <> @@SpId and dbID <> 0
到了这里,关于SQL Server ‘已超过了锁请求超时时段‘ 问题解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!