【问题标题】:I would like to monitor my slow running SQL Server stored procedures我想监控我运行缓慢的 SQL Server 存储过程
【发布时间】:2018-02-08 00:05:46
【问题描述】:

我在我们的一个数据库中有一长串运行缓慢的存储过程,我想对其进行监控。我们正在运行 SQL Server 2012 企业版。我知道 SQL Server 分析器不再是推荐使用的工具,有什么建议吗?

提前致谢

【问题讨论】:

    标签: sql-server stored-procedures performance-monitor


    【解决方案1】:

    SQL Server 支持在过程级别和查询级别收集本机编译的存储过程的执行统计信息。由于性能影响,默认情况下不启用收集执行统计信息。

    您可以使用sys.sp_xtp_control_proc_exec_stats (Transact-SQL) 对本机编译的存储过程启用和禁用统计信息收集。

    https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sys-sp-xtp-control-proc-exec-stats-transact-sql

    【讨论】:

    • 您好,谢谢您的回复,我似乎没有看到管理下的扩展事件-->扩展事件-->SSMS 中的会话,我错过了什么吗?再次感谢。
    【解决方案2】:

    Extended Events 是 Profiler/SQL Trace 的替代品。 Profiler 提供的许多事件也可在 Extended Events 以及许多其他事件中使用。

    如果您当前有一个过滤的 SQL 跟踪,包括写入翻转文件的 rpc_completed 和 sql_batch_completed 事件,下面的 DDL 会创建一个 XE 跟踪以将这些相同的事件捕获到具有翻转的扩展事件文件。

    CREATE EVENT SESSION [cache] ON SERVER 
    ADD EVENT sqlserver.rpc_completed(
        WHERE ([sqlserver].[like_i_sql_unicode_string]([statement],N'proc1') 
        OR [sqlserver].[like_i_sql_unicode_string]([statement],N'proc2') 
        OR [sqlserver].[like_i_sql_unicode_string]([statement],N'proc3'))),
    ADD EVENT sqlserver.sql_batch_completed(SET collect_batch_text=(1)
        WHERE ([sqlserver].[like_i_sql_unicode_string]([batch_text],N'proc1') 
        OR [sqlserver].[like_i_sql_unicode_string]([batch_text],N'proc2') 
        OR [sqlserver].[like_i_sql_unicode_string]([batch_text],N'proc3')))
    ADD TARGET package0.event_file(SET filename=N'selected_proc_trace',max_file_size=(1024),max_rollover_files=(5))
    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=OFF
        ,STARTUP_STATE=OFF);
    GO
    

    可以使用管理-->扩展事件-->会话下的 SSMS 对象资源管理器创建、管理和查看扩展事件跟踪。该工具还包括等效 Profiler 模板的模板。

    【讨论】:

    • 您好,感谢您的回复,启用统计信息收集后,我可以在哪里查看此信息?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-27
    • 2018-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多