首页 > 数据库技术 > 详细

SQL SERVER-Extendevent捕获执行慢的语句

时间:2019-06-19 12:22:38      阅读:206      评论:0      收藏:0      [点我收藏+]
USE MASTER;
GO

/* Conditionally drop the session if it already exists */
IF EXISTS (SELECT * FROM sys.server_event_sessions WHERE name = EE_SlowQueryLog)
    DROP EVENT SESSION EE_SlowQueryLog ON SERVER;
 GO  

 /* Create the session */
CREATE EVENT SESSION EE_SlowQueryLog ON SERVER
    ADD EVENT sqlserver.sql_statement_completed
    (   ACTION (
               sqlserver.client_app_name
              ,sqlserver.client_hostname
              ,sqlserver.database_id
              ,sqlserver.database_name
              ,sqlserver.plan_handle
              ,sqlserver.sql_text
              ,sqlserver.username)
         WHERE duration > 500000 /* 500 milliseconds in microseconds */ 
              AND sql_text NOT LIKE WAITFOR (RECEIVE message_body FROM WMIEventProviderNotificationQueue)% /* Exclude WMI waits */
              AND sql_text NOT LIKE %sp_GetSlowQueries% /* Exclude traffic from stored procedure to read data */)
    ADD TARGET package0.asynchronous_file_target
    (   SET FILENAME = ND:\XEvent\EE_SlowQueryLog.xel, METADATAFILE = ND:\XEvent\EE_SlowQueryLog.xem)
    WITH (max_dispatch_latency = 1 seconds);
 GO 

 /* Start Session */
 ALTER EVENT SESSION EE_SlowQueryLog ON SERVER STATE = START;
 GO 

 

SQL SERVER-Extendevent捕获执行慢的语句

原文:https://www.cnblogs.com/JinweiChang/p/11050359.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!