Como você captura execuções para um determinado procedimento armazenado junto com os valores de parâmetro passados?
Eu tentei usar sqlserver.module_end, mas ele mostra apenas a execução do proc da loja sem valores de parâmetro:
CREATE EVENT SESSION [SP Executions By Name] ON SERVER
ADD EVENT sqlserver.module_end(SET collect_statement=(1)
ACTION(sqlserver.client_app_name,sqlserver.client_hostname,sqlserver.query_hash_signed,sqlserver.session_id,sqlserver.sql_text,sqlserver.username)
WHERE ([object_type]='P ' AND [sqlserver].[database_name]=N'MyDB' AND [object_name]=N'MyStoredProc'))
ADD TARGET package0.event_file(SET filename=N'Z:\Extended_Events\StoredProcedures_ByNameAndDB.xel',max_file_size=(5),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)
Isso só é possível se o seu proc for o oproc enviado em lote. Se este for o caso, use rpc_completed ou sql_batch_completed e filtre com predicado semelhante
procs aninhados não é possível ver os valores dos parâmetros.
Considere registrar os parâmetros em uma tabela para análise.