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 = N‘D:\XEvent\EE_SlowQueryLog.xel‘, METADATAFILE = N‘D:\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