【问题标题】:How do I run a SQL Server trace to start and end at specific times?如何运行 SQL Server 跟踪以在特定时间开始和结束?
【发布时间】:2010-12-29 13:52:46
【问题描述】:

我找到了创建 SQL Profiler 跟踪的秘诀。

如何设置让此跟踪在特定时间开始和结束,我可以通过管理任务执行此操作吗?

我们正试图找出锁定或连接失败的发生时间和方式,但我们不知道它们何时会发生——这是一个非常间歇性的问题。

另一种解决方案是解释我如何在不让日志变得太大的情况下运行这样的跟踪几周,是否可以手动指定跟踪文件的保存位置??

谢谢你,汤姆

【问题讨论】:

    标签: sql-server-2005 profiler trace sql-server-profiler


    【解决方案1】:

    “连接失败”是什么意思?登录失败?如果是这样,这些已被默认跟踪捕获。

    SELECT f.* 
    FROM sys.traces t
    CROSS APPLY fn_trace_gettable(t.path, default) f
    WHERE f.EventClass=20
    

    “锁”是什么意思?听起来您可能想调查设置Blocked Process report。只要您合理配置blocked process threshold option,它的重量应该相对较轻,并且能够一次运行数周。

    您可以使用 SQL Profiler 最初设置跟踪,然后从导出菜单中编写跟踪定义脚本并将其放入 start up stored procedure

    【讨论】:

    • 我只被告知'锁',我知道存在 tsql_locks 的模板,我计划从它开始,因为我被告知的就是这些。基于此,我将从您的建议开始,使用默认设置,并尝试使用锁模板。谢谢你,汤姆
    • @Tom 该模板似乎相当重量级,因为它记录了服务器上的所有 SQL 语句,我怀疑它是否适合长时间运行。
    • 谢谢...我还不明白如何让它在需要时停止/启动...我打开/关闭了几次。我必须做更多的搜索和阅读。 :) 我也会试试你的建议。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-06
    相关资源
    最近更新 更多