The DBSS_Deadlock_Data collection fails because the SQL Server extended event (.xel
) file cannot be found on the monitored host.
An error similar to the following appears in the SQL Server agent log:
ERROR [AGENTNAME-lowPriorityPool-2-[DBSS_Deadlock_Data][]]
com.quest.qsi.fason.core.collection.processor.InstanceProcessor - Failed to run DBSSDeadlockExtendedEventsProcessor processor of DBSS_Deadlock_Data collection.
java.lang.RuntimeException: Failed to execute collection [DBSS_Deadlock_Data], reason=The operating system returned error 2(The system cannot find the file specified.) while reading from the file '{SQLSERVERPATH}\MSSQL\Log\system_health_0_124849413452550000.xel'.
1 – Cleanup of Old .xel
Files
A manual or scheduled process may have removed older extended event files from the SQL Server log directory.
The system_health
session uses both a ring_buffer (in-memory) and file target with rollover. If the number of files is limited (e.g., 4 files), older .xel
files are deleted automatically.
If no filenames are returned, the session may be configured to only use the ring_buffer
, which stores data in memory only. Once stopped, the buffer is cleared.
For more information:
The default file target path or filename pattern in the system_health
session may have been changed, resulting in the agent referencing a non-existent path.
The Foglight SQL Server agent service account may lack file-level read permissions for the .xel
file or its directory.
A corrupted file or disk issue may have removed or made the file unreadable.
Change the deadlock working mode to Trace to collect deadlock data using the legacy method. See KB 4228897 for details.
Review maintenance plans, cleanup jobs, or third-party tools that might be removing .xel
files too aggressively.
SELECT * FROM sys.server_event_sessions WHERE name = 'system_health';
Confirm the file target path and settings:
SELECT t.target_name, c.value AS target_data FROM sys.server_event_sessions s JOIN sys.server_event_session_targets t ON s.event_session_id = t.event_session_id CROSS APPLY sys.fn_xe_file_target_read_file(t.target_data, NULL, NULL, NULL) AS c WHERE s.name = 'system_health';
If this issue occurs frequently, increase the max_file_size
or max_rollover_files
in the session configuration.
Ensure that the SQL Server agent’s service account has proper read access to the directory containing .xel
files.
Review the SQL Server error logs and the Windows Event Viewer for relevant file access or disk errors.
If files are missing or unreadable, restart the session to regenerate:
ALTER EVENT SESSION system_health ON SERVER STATE = STOP; ALTER EVENT SESSION system_health ON SERVER STATE = START;
Verify that .xel
files are present in the expected directory:
dir "{SQL Server path}\MSSQL\Log\*.xel"
© ALL RIGHTS RESERVED. Terms of Use Privacy Cookie Preference Center