2

我有一个应用程序,它在输入值并在应用程序上单击生成按钮时生成某些报告。

我知道这个应用程序连接到哪个数据库,但不知道调用的是哪个存储过程。该数据库有 100 个存储过程。

因此,我需要跟踪在单击应用程序上的每个按钮时调用了哪个存储过程以及传递了哪些参数。

伙计们,请您帮我创建一个扩展的事件会话,该会话使用传递的参数捕获每个存储过程调用 - 在特定数据库中?

谢谢

JJ

4

1 回答 1

1

下面是使用扩展事件捕获存储过程详细信息的方法

1.转到管理->扩展事件->会话->右键单击并说出新会话向导并提供新会话名称

在此处输入图像描述

2.在选择模板字段中,不要选择默认模板,然后单击下一步..

在此处输入图像描述

3.在下一个屏幕中,您将看到下面的屏幕,搜索批处理并选择 sql 批处理开始和完成事件,如屏幕截图所示.. 然后单击下一步

注意:扩展事件信息太多,如果您将频道更改为调试,您将看到更多事件,例如溢出到 tempdb、cpu ..

在此处输入图像描述

4.下一个屏幕为您提供选择感兴趣的字段的选项,这里我选择文本、连接 ID、客户端名称..

在此处输入图像描述

5.在下一个屏幕中,根据您的选择选择过滤器,我选择数据库名称,您也可以为单个 proc 选择批处理文本 在此处输入图像描述

6.在这个界面,你可以选择存储数据的选项,我选择了opion1,因为我可能需要长时间收集数据集。 在此处输入图像描述

7.final 屏幕向您显示摘要,并为您提供一个选项来编写您到目前为止所做的事情。并且还可以在 finalscreen 中启动事件会话复选框,如下面的屏幕所示

在此处输入图像描述

现在我在 ssms 中运行我的存储过程,最后当我想查看数据时,我停止了事件会话。

通过 File ->new >merge extended events 选项,我可以选择多个数据集,如下所示

在此处输入图像描述

我可以看到我的存储过程和感兴趣的字段突出显示..

在此处输入图像描述

于 2016-03-19T10:29:06.740 回答