Stored-Procedures
擴展事件中跟踪儲存過程執行的正確事件是什麼?
我的目標是使用擴展事件跟踪單個儲存過程的執行
在事件選擇列表中,我可以找到以下內容:
sql_statement_completed sql_batch_completed sp_statement_completed rpc_completed
我應該選擇哪一個?我只需要一個不同的執行次數
包括根據
module_start
儲存過程名稱過濾的事件和基於 object_name 欄位的直方圖目標儲存桶。這將擷取並彙總每次執行儲存過程時的執行計數,無論是直接呼叫還是間接呼叫(即呼叫其他儲存過程和触發器)。CREATE EVENT SESSION [module_start_execution_summary] ON SERVER ADD EVENT sqlserver.module_start( WHERE ([object_name]=N'YourStoredProcedure')) ADD TARGET package0.histogram(SET filtering_event_name=N'sqlserver.module_start',source=N'object_name',source_type=(0)) 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=ON);
請注意,如果相同的儲存過程名稱存在於多個數據庫或模式中,則使用此方法將不同的 proc 計為一個。數據庫上的附加過濾器可用於將計數限制為僅所需的數據庫。