I've created an extended event to debug a very rare issue in a web application. Very occasionally data from forms is not making it to a stored procedure, so I want to verify that when the SP is being called, it is actually lacking the missing data. I'm using to Extended Event to view the passed parameters.
I went in today to check the logs, and found that the Event has not been capturing data, and indeed, the session was stopped in SSMS
.
How do I ensure this even doesn't turn itself off? I've set it to start on server startup. Here is text of the event:
CREATE EVENT SESSION [DB_Name SP execution] ON SERVER
ADD EVENT sqlserver.rpc_starting
(
ACTION
(
sqlserver.database_id,sqlserver.database_name,
sqlserver.server_instance_name,
sqlserver.session_id
)
WHERE
(
[package0].[greater_than_uint64]([sqlserver].[database_id],(4))
AND [package0].[equal_boolean]([sqlserver].[is_system],(0))
AND [sqlserver].[database_id]=(34))
),
ADD EVENT sqlserver.sp_statement_starting
(
SET collect_statement=(1)
ACTION
(
sqlserver.database_id,sqlserver.database_name,
sqlserver.server_instance_name,
sqlserver.session_id
)
WHERE
(
[package0].[greater_than_uint64]([sqlserver].[database_id],(4))
AND [package0].[equal_boolean]([sqlserver].[is_system],(0))
AND [sqlserver].[database_id]=(34)
)
),
ADD EVENT sqlserver.sql_batch_starting
(
ACTION
(
sqlserver.database_id,sqlserver.database_name,
sqlserver.server_instance_name,
sqlserver.session_id
)
WHERE
(
[package0].[greater_than_uint64]([sqlserver].[database_id],(4))
AND [package0].[equal_boolean]([sqlserver].[is_system],(0))
AND [sqlserver].[database_id]=(34)
)
)
ADD TARGET package0.event_file
(
SET filename=N'D:\path\to\log.xel',
max_file_size=(5120)
)
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=ON,
STARTUP_STATE=ON
)
GO
Edit I started it when I set it up, and it captured data for two days (8/9 - 8/11). Haven't checked in again until today, found it was off and there has been no data since 8/11. It is currently on and capturing data, but I don't want to have to manually check that it's on every day.
max_file_size=(5120)
. Any chance you hit the max size?