2

我创建了一个扩展事件,我想从事件文件/日志中查询数据。我如何查询它以获取仅针对某个表(表名)和由名称给出的特定数据库的锁。

CREATE EVENT SESSION [LocksXE] ON SERVER 

ADD EVENT sqlserver.lock_released(
    ACTION(sqlserver.database_name, sqlserver.query_hash, 
           sqlserver.request_id, sqlserver.sql_text)
    WHERE [mode]<>(6) AND [resource_type]=(5) OR [resource_type]=(6) AND [duration]>=(1000000)) 

ADD TARGET package0.event_file(SET filename=N'C:\Program Files\Microsoft SQL Server\MSSQL11.TRANSSPED2012\MSSQL\Log\LocksXE.xel')
WITH (MAX_MEMORY=4096 KB, EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS, 
      MAX_DISPATCH_LATENCY=30 SECONDS, MAX_EVENT_SIZE=0 KB, 
      MEMORY_PARTITION_MODE=NONE, TRACK_CAUSALITY=OFF, STARTUP_STATE=ON)
GO

还有一个小问题 - 可以做些什么来获得实际持续时间?(现在总是 0)。

4

0 回答 0