达梦数据库处理锁超时问题办法

时间:2024-04-07 09:24:09

我们在处理数据库的触发器时,有时候会遇到锁超时的问题,导致触发器无法被禁用,如图所示:
达梦数据库处理锁超时问题办法
遇到这种问题时,可以使用以下三个语句:
1.select * from vlock2.selectfromsysobjects3.selectfromvlock (查询数据库表的锁的情况) 2.select * from sysobjects (查询对象信息) 3.select * from vsessions (查询会话信息)
上述3条语句组合一下就能查出哪张表上的某种锁是由哪个会话里的操作加上的:
select a.*,b.NAME,c.SESS_ID from vlockaleftjoinsysobjectsbonb.ID=a.TABLEIDleftjoinvlock a left join sysobjects b on b.ID=a.TABLE_ID left join vsessions c on a.TRX_ID=c.TRX_ID
在查询到对应会话的sess_id后,即可通过sp_close_session(sess_id)来强行关掉该对话,之后即可正常禁用触发器了。