【问题标题】:How to get other related events that where not traced?如何获取其他未追踪的相关事件?
【发布时间】:2012-10-03 08:47:12
【问题描述】:

有没有办法获取与进程相关的其他事件的信息,这些事件未被 SQL-server profiler 捕获(未包含在过滤器列表中)。

例如,如果我只跟踪死锁图,并且当我捕捉到这种事件时,我能否以某种方式获取关于在同一进程中捕捉到的事件之前/之后发生的 BatchStarted 或 BatchCompleted 事件的信息?

我想知道查询中使用的参数值,但死锁图事件不提供此类信息。我可以重新配置分析器以跟踪其他事件,但我不知道如何重现死锁。

【问题讨论】:

  • 如果您要求的是追溯,您不能追溯开始。

标签: sql-server deadlock sql-server-profiler


【解决方案1】:

您无法获得比您最初追踪的信息更多的信息。但是也许您仍然不知道您可以通过右键单击死锁图并将额外事件数据保存到 XML 文件中来获取额外的事件数据(带有 XDL 扩展名 -Deadlock XML files-,但我建议使用一个 XML 编辑器来阅读它),每个进程都有一个调用堆栈。它可能会添加解决死锁所需的额外信息。祝你好运。

这里解释得很好:

http://beyondrelational.com/modules/2/blogs/77/posts/11368/sql-server-ssms-profiler-extracting-deadlock-event-data-to-xdl-files.aspx

【讨论】:

  • 好吧,当然 =) 实际上我已经将分析器配置为自动为每个死锁创建 xdl 文件。我阅读该 xml 信息并确定死锁的原因没有问题。但我只是无法弄清楚我们系统中发生这种情况的确切位置 =) 并且死锁图事件不提供有关传递给批处理的参数值的信息。无论如何,谢谢你)
  • @ArturUdod XML 文件中的堆栈没有帮助您更好地本地化它发生的地方吗?
  • 嗯,它提供了什么样的信息? sql 语句,有关登录名、时间、进程 ID 等的信息以及有关锁定和事务的课程外信息。我的系统中有很多地方执行类似的请求
  • @ArturUdod 这可能有助于您尝试捕获死锁:SQL Server Extended Events - msdn.microsoft.com/en-us/library/bb630354(v=sql.105).aspx
猜你喜欢
  • 2021-12-23
  • 2019-02-27
  • 2013-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-10
相关资源
最近更新 更多