SQL Server 2012 扩展事件(1)XE向导

本文介绍如何使用SQL Server 2008新增的扩展事件功能来诊断故障及捕获内部信息,并提供了通过扩展事件查看器创建会话的具体步骤。

SQL Server 2008新增了一个新的技术:扩展事件(Extended Event)。这个技术为诊断SQL Server故障时捕获内部信息提供了一种全新的方法。SQL Server在未来的版本中将使用扩展事件替代SQL Server Profiler。

  SQL Server 2012特地为此提供了一个查看器。下面我们将通过这个扩展事件查看器(Extended Event Profiler)创建一个捕获。 

 

1、创建一个扩展事件捕获

  打开SSMS,展开“管理”、“扩展事件”、“会话”。在右键菜单中选择“新建会话向导”。 

161649464.png

 

2、通过向导创建会话

134806103.png

  输入会话名称。

134806431.png

 

  使用“查询批处理跟踪”会话模板。

wKiom1SSjMfCg_CtAAIfqpB_Aag523.jpg

 

  单击“类别”标题栏右侧的下拉按钮,去除“全部”前面的选择,然后选择“Excution”。在左侧列表中选择“rpc_starting”,并将其添加到右侧列表。

134806643.png

 

  选择“sql-text”字段。

134807249.png

 

  依次选择“字段”、“运行符”、“值”标题栏右侧的下拉按钮,添加一个筛选器,把系统事件排除掉。

134807695.png

134807691.png

134807701.png

134807817.png

 

3、在屏幕上进行监视

  将sql_text列添加到显示窗口。

135040280.png

135041682.png


通过扩展事件还可以查看的更详细的事件信息。

wKiom1SSn1ejZEMMAAKJc3RPihQ551.jpg 


4、查看脚本

135132927.png

 

CREATE EVENT SESSION [TestTrace] ON SERVER 

ADD EVENT sqlserver.error_reported(

    ACTION(sqlserver.client_app_name,sqlserver.database_id,sqlserver.query_hash,sqlserver.session_id,sqlserver.sql_text)

    WHERE ([package0].[greater_than_uint64]([sqlserver].[database_id],(4)) AND [package0].[equal_boolean]([sqlserver].[is_system],(0)) AND [package0].[not_equal_boolean]([sqlserver].[is_system],(1)))),

ADD EVENT sqlserver.rpc_completed(

    ACTION(sqlserver.client_app_name,sqlserver.database_id,sqlserver.query_hash,sqlserver.session_id,sqlserver.sql_text)

    WHERE ([package0].[greater_than_uint64]([sqlserver].[database_id],(4)) AND [package0].[equal_boolean]([sqlserver].[is_system],(0)) AND [package0].[not_equal_boolean]([sqlserver].[is_system],(1)))),

ADD EVENT sqlserver.rpc_starting(

    ACTION(sqlserver.sql_text)

    WHERE ([package0].[not_equal_boolean]([sqlserver].[is_system],(1)))),

ADD EVENT sqlserver.sql_batch_completed(

    ACTION(sqlserver.client_app_name,sqlserver.database_id,sqlserver.query_hash,sqlserver.session_id,sqlserver.sql_text)

    WHERE ([package0].[greater_than_uint64]([sqlserver].[database_id],(4)) AND [package0].[equal_boolean]([sqlserver].[is_system],(0)) AND [package0].[not_equal_boolean]([sqlserver].[is_system],(1)))) 

ADD TARGET package0.ring_buffer

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=ON,STARTUP_STATE=OFF)

GO 

 

 

5、停止会话

135003388.png

135003483.png

 

6、 查看会话的属性

  在会话的右键菜单中选择“属性”,查看此会话的属性信息。

172947406.png

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值