Skip to content

Commit 247a446

Browse files
Fix SQL dumps on mirroring passive servers from FinOps collectors (#535)
The database_size_stats and server_properties collectors iterate databases with cursor-based dynamic SQL. On mirroring passive servers, RESTORING databases must be excluded to prevent severity 22 engine crashes (same root cause as #384 and #430). - database_size_stats: Change state_desc filter to d.state = 0 - server_properties: Change state_desc filter to d.state = 0, add HAS_DBACCESS() check (was missing entirely) Fixes #535 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent bbe1c63 commit 247a446

2 files changed

Lines changed: 3 additions & 2 deletions

File tree

install/52_collect_database_size_stats.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ BEGIN
176176
d.name,
177177
d.database_id
178178
FROM sys.databases AS d
179-
WHERE d.state_desc = N'ONLINE'
179+
WHERE d.state = 0 /*ONLINE only — skip RESTORING databases (mirroring/AG secondary)*/
180180
AND d.database_id > 0
181181
AND HAS_DBACCESS(d.name) = 1
182182
ORDER BY

install/53_collect_server_properties.sql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,9 @@ BEGIN
133133
SELECT
134134
d.name
135135
FROM sys.databases AS d
136-
WHERE d.state_desc = N'ONLINE'
136+
WHERE d.state = 0 /*ONLINE only — skip RESTORING databases (mirroring/AG secondary)*/
137137
AND d.database_id > 4 /*Skip system databases*/
138+
AND HAS_DBACCESS(d.name) = 1
138139
ORDER BY
139140
d.database_id;
140141

0 commit comments

Comments
 (0)