zoukankan      html  css  js  c++  java
  • 【监控笔记】【2.3】扩展事件——慢查询SQL(执行超过3S的SQL)

    --sql server 2008及以上才支持,2012及以上才支持GUI界面

    msdn 扩展事件:点击打开链接

     【1】T-SQL实现

    基于 rpc_completed(远程过程调用已完成时发生) 事件与 sql_batch_completed(Transact-SQL 批处理执行完毕时发生) 事件

    转自:https://blog.csdn.net/yenange/article/details/52592814
    
    --  删除事件会话  
    IF EXISTS(SELECT * FROM sys.server_event_sessions WHERE name = 'slow_query')  
        DROP EVENT SESSION slow_query ON SERVER   
    GO  
    --  创建事件会话  
    CREATE EVENT SESSION [slow_query] ON SERVER 
    ADD EVENT sqlserver.rpc_completed(
        ACTION(sqlos.task_time,sqlserver.database_name,sqlserver.nt_username,sqlserver.sql_text,sqlserver.transaction_id,sqlserver.username)
        WHERE
        --AND [sqlserver].[database_name]=N'xxxx'    -- 数据库名, 自行修改
        --and sqlserver.username=N'xxxx'                -- 数据库用户名, 自行修改
        [duration]>=3000000                    -- 消耗秒数超 3 秒
        ),
    ADD EVENT sqlserver.sql_batch_completed(
        ACTION(sqlos.task_time,sqlserver.database_name,sqlserver.nt_username,sqlserver.sql_text,sqlserver.transaction_id,sqlserver.username)
        WHERE
        --AND [sqlserver].[database_name]=N'xxxx'   -- 数据库名, 自行修改
        --and sqlserver.username=N'xxxx'                -- 数据库用户名, 自行修改
        [duration]>=3000000                    -- 消耗秒数超 3 秒
        )
    ADD TARGET package0.event_file(SET filename=N'D:ToolsDBAEventLogslow_query.xel',max_file_size=(10))    --路径、文件MB, 自行修改
    WITH (STARTUP_STATE=ON)
    GO
    --  启用(停止)事件会话(START / STOP)  
    ALTER EVENT SESSION slow_query ON SERVER STATE=START  
    GO  

    【2】GUI实现

      

    基于 sql_statement_completed(Transact-SQL 语句已完成时发生)

    和 query_post_execution_showplan (在执行 SQL 语句后发生。此事件返回实际查询计划的 XML 表示形式。使用此事件可能带来严重的性能开销,所以只有在短时间内解决或监视特定问题时才应使用此事件。)

      (1)新建会话,把sql_statement_completed 和 query_post_execution_showplan 事件给选上

      

      (2)谓词 筛选出持续时间大于3s的,并排除系统数据库,两个事件都这么设置

        

      (3)实时监控,查看结果

        

      (4)再做修改,加全局字段与事件字段。而query_post_execution_showplan事件加了username全局字段和databaseName

        

       (5)查看加了字段之后的结果

        

    相关参考文章:

      概念与介绍~https://blog.csdn.net/kk185800961/article/details/49725903

      GUI的使用~https://www.cnblogs.com/lyhabc/p/3475132.html

  • 相关阅读:
    动态分配内存与静态分配内存
    指针的指针
    cpp与其他语言相比较
    数组是什么
    cocos2d-x 2.1.4 项目配置过程
    显示隐藏文件 osx 10.10
    Windows 10 SDK 10.0.10158
    Office 2016 (Preview)
    Windows 10 SDK 10.0.10069 : The installer failed. User cancelled installation. Error code: -2147023294
    用系统工具sxstrace检查缺少的VC运行时组件
  • 原文地址:https://www.cnblogs.com/gered/p/10972807.html
Copyright © 2011-2022 走看看