From fb84cb65ea0e94ba815d1d65a6a95524ccba6e01 Mon Sep 17 00:00:00 2001 From: Erik Darling <2136037+erikdarlingdata@users.noreply.github.com> Date: Thu, 19 Mar 2026 08:19:44 -0400 Subject: [PATCH] Revert "Merge pull request #636 from erikdarlingdata/fix/file-io-unknown-labels-633" This reverts commit 9c2a77f57a83a871504d99eb1595b8872d9a5595, reversing changes made to eb3e4c25cf86c3ff1faab15112cb839af5aed42f. --- .../Services/RemoteCollectorService.FileIo.cs | 6 +-- install/08_collect_query_stats.sql | 52 ++++++------------- 2 files changed, 20 insertions(+), 38 deletions(-) diff --git a/Lite/Services/RemoteCollectorService.FileIo.cs b/Lite/Services/RemoteCollectorService.FileIo.cs index 7ffa017..595bb9d 100644 --- a/Lite/Services/RemoteCollectorService.FileIo.cs +++ b/Lite/Services/RemoteCollectorService.FileIo.cs @@ -199,9 +199,9 @@ private static (string DatabaseName, string FileName, string FileType, string Ph int DatabaseId, int FileId) ReadFileIoRow(SqlDataReader reader) { return ( - DatabaseName: reader.IsDBNull(0) ? $"DB_{reader.GetValue(13)}" : reader.GetString(0), - FileName: reader.IsDBNull(1) ? $"File_{reader.GetValue(14)}" : reader.GetString(1), - FileType: reader.IsDBNull(2) ? "UNKNOWN" : reader.GetString(2), + DatabaseName: reader.IsDBNull(0) ? "Unknown" : reader.GetString(0), + FileName: reader.IsDBNull(1) ? "Unknown" : reader.GetString(1), + FileType: reader.IsDBNull(2) ? "Unknown" : reader.GetString(2), PhysicalName: reader.IsDBNull(3) ? "" : reader.GetString(3), SizeMb: reader.IsDBNull(4) ? 0m : reader.GetDecimal(4), NumOfReads: reader.IsDBNull(5) ? 0L : reader.GetInt64(5), diff --git a/install/08_collect_query_stats.sql b/install/08_collect_query_stats.sql index e838e1b..f866749 100644 --- a/install/08_collect_query_stats.sql +++ b/install/08_collect_query_stats.sql @@ -222,38 +222,6 @@ BEGIN row_hash binary(32) NULL ); - /* - Pre-build list of ONLINE, accessible database IDs. - This prevents any downstream DMV calls (dm_exec_sql_text, - dm_exec_plan_attributes) from touching RESTORING databases - on passive mirror servers — which triggers severity 22 dumps. - */ - CREATE TABLE - #online_databases - ( - database_id integer NOT NULL PRIMARY KEY, - database_name sysname NOT NULL - ); - - INSERT INTO - #online_databases - ( - database_id, - database_name - ) - SELECT - d.database_id, - d.name - FROM sys.databases AS d - WHERE d.state = 0 - AND HAS_DBACCESS(d.name) = 1 - AND d.database_id NOT IN - ( - 1, 2, 3, 4, 32761, 32767, - DB_ID(N'PerformanceMonitor') - ) - AND d.database_id < 32761; - INSERT INTO #query_stats_staging ( @@ -306,7 +274,7 @@ BEGIN ) SELECT server_start_time = @server_start_time, - database_name = od.database_name, + database_name = d.name, sql_handle = qs.sql_handle, statement_start_offset = qs.statement_start_offset, statement_end_offset = qs.statement_end_offset, @@ -385,9 +353,23 @@ BEGIN qs.statement_start_offset, qs.statement_end_offset ) AS tqp - INNER JOIN #online_databases AS od - ON st.dbid = od.database_id + CROSS APPLY + ( + SELECT + dbid = CONVERT(integer, pa.value) + FROM sys.dm_exec_plan_attributes(qs.plan_handle) AS pa + WHERE pa.attribute = N'dbid' + ) AS pa + INNER JOIN sys.databases AS d + ON pa.dbid = d.database_id WHERE qs.last_execution_time >= @cutoff_time + AND d.state = 0 /*ONLINE only — skip RESTORING databases (mirroring/AG secondary)*/ + AND pa.dbid NOT IN + ( + 1, 2, 3, 4, 32761, 32767, + DB_ID(N'PerformanceMonitor') + ) + AND pa.dbid < 32761 /*exclude contained AG system databases*/ OPTION(RECOMPILE); /*