关于扩展事件的问题-获取锁和释放锁

velaa5lx  于 2021-08-13  发布在  Java
关注(0)|答案(0)|浏览(174)

我正在尝试创建ee会话,它将跟踪特定对象的lock\u acquired和lock\u released事件
这里是ee会话的定义
在服务器上创建事件会话[locks acquired]添加事件sqlserver.lock\u acquired(设置collect\u database\u name=(1),collect\u resource\u description=(1)action(sqlserver.client\u app\u name,sqlserver.client\u hostname,sqlserver.database\u name,sqlserver.nt\u username,sqlserver.query\u hash,sqlserver.query\u plan\u hash,sqlserver.session\u id,sqlserver.session\u nt\u username,sqlserver.sql\u text,sqlserver.transaction\u id,sqlserver.username)其中([sqlserver].equal\u sql\u unicode\u string and([associated\u object\u id]=(597577167.)或[associated\u object\u id]=(72057594043236352.)或[associated\u object\u id]=(72057594043236352.)),添加事件sqlserver.lock\u released(set collect\u database\u name=(1),collect\u resource\u description=(1)操作(sqlserver.client\u app\u name,sqlserver.client\u hostname,sqlserver.database\u name,sqlserver.nt\u username,sqlserver.query\u hash,sqlserver.query\u plan\u hash,sqlserver.session\u id,sqlserver.session\u nt\u username,sqlserver.sql\u text,sqlserver.transaction\u id,sqlserver.username)其中([sqlserver].equal\u i\u sql\u unicode\u string and([associated\u object\u id]=(597577167.)或[associated\u object\u id]=(72057594043236352.)或[associated\u object\u id]=(72057594043236352.))添加目标包0.event\u文件(set filename=n'c:\locks acquired on\locks.xel')
这将跟踪为关联的\u object \u id=597577167获取和释放的任何锁(这是特定对象的\u id,如果锁定的资源是object,那么我们将获得关联的\u object \u id=597577167)
对于[associated_object_id]=(72057594043236352.)(如果锁定的资源是页或键,我们将得到[associated_object_id]=(72057594043236352),72057594043236352是对象597577167的分区id(该对象只有一个分区))
这个工作很好,我试过测试这个,我有这个id为597577167的特定表只有一行,我已经为这个表启动了open事务
begin tran update“表格”set col1=1
好的-我有这个对象的lock\u事件,page,rid
我已经离开了三分钟,然后我回滚了这个事务,我得到了对象,页面,rid的lock\u released事件
但是,尽管有三分钟的锁,锁释放事件显示我的持续时间-0
为什么会这样?我预期锁的持续时间在锁获取和锁释放之间,但我只看到这个事件或任何其他锁事件的持续时间为零
有人见过这个吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题