查询不到已经创建过的事件会话(扩展事件)

一:问题描述:

--查询语句:

SELECT *

FROM sys.dm_xe_sessions

WHERE name='MONITORING_DEADLOCK2'

--结果是空的(之前已经创建过该事件会话)

试图再次创建下该会话

语句:

 CREATE EVENT SESSION MONITORING_DEADLOCK2  ON SERVER
ADD EVENT sqlserver.xml_deadlock_report

ACTION(sqlos.worker_address,sqlserver.client_app_name,sqlserver.client_hostname,sqlserver.client_pid,sqlserver.database_id,sqlserver.database_name,sqlserver.query_plan_hash,sqlserver.session_id,sqlserver.session_nt_username,sqlserver.sql_text,sqlserver.username)
)
ADD TARGET package0.ring_buffer  
WITH (MAX_DISPATCH_LATENCY = 30 SECONDS); 

报错:

二:出错原因:

该事件会话未启动(昨天,我关了次服务器,重新启动后,事件会话却没有启动,故查询不到该事件会话信息)


三:解决办法:

方法一:手动启动该事件会话(弊端:如果服务器重启的话,还得手动重启该事件会话)

ALTER EVENT SESSION MONITORING_DEADLOCK2 ON SERVER STATE = START; 

现在,再查询下,就有了

--查询语句:

SELECT *

FROM sys.dm_xe_sessions

WHERE name='MONITORING_DEADLOCK2'


方法二:设置’在服务器启动时启动事件会话‘

展开’对象资源管理器‘->管理->会话->右击该事件会话,点击’属性‘,如图:

 

勾选’在服务器启动时启动事件会话‘,如图:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值