【问题标题】:How to find timed out statements in SQL 2005 profiler如何在 SQL 2005 探查器中查找超时语句
【发布时间】:2008-11-10 20:36:58
【问题描述】:

我正在尝试使用 SQL 2005 探查器查找超时的 SQL 语句。有没有办法设置这样的过滤器?

【问题讨论】:

    标签: sql-server sql-server-profiler


    【解决方案1】:

    在 Profiler 中,您可以在“错误和警告”下添加事件“注意”。它的定义是

    收集所有注意力事件,例如 客户端中断请求或当一个 客户端连接中断。

    至于其他错误(死锁、约束等),请尝试“执行警告”(报告在执行 SQL 语句或过程期间发生的警告)或“用户错误消息”(向用户显示的错误消息)错误或异常的情况)。

    【讨论】:

    • +1。此外,如果超时是由于解除锁,请收集死锁图事件。
    【解决方案2】:

    是的。

    • 选中“所有事件”
    • 转到锁定部分
    • 指定“锁定:超时”事件

    Lock event in Books Online

    现在,这适用于服务器端锁 (@@LOCK_TIMEOUT 0)。 我不知道是否会捕获客户端超时。

    【讨论】:

    • 这只会捕获由锁定引起的超时。调用应用程序超时的长时间运行查询不一定会出现锁定问题。
    【解决方案3】:

    一个选项,如果您知道客户端配置的超时设置为(即默认为 30 秒),您可以在跟踪上设置过滤器以仅收集持续时间大于或等于您的超时(减去一两秒钟)。

    【讨论】:

    • 对于我之后的人:事件选择 => 列过滤器 => 持续时间 => 大于或等于
    猜你喜欢
    • 1970-01-01
    • 2012-12-21
    • 2010-12-03
    • 2013-05-08
    • 2017-09-29
    • 2011-02-14
    • 2012-02-25
    • 2013-08-11
    相关资源
    最近更新 更多