@@ -149,6 +149,8 @@ private async Task<int> CollectDatabaseConfigAsync(ServerConnection server, Canc
149149 is_optimized_locking_on = d.is_optimized_locking_on" ;
150150 }
151151
152+ var ( dbConfigExclusionClause , _) = BuildDatabaseExclusionFilter ( server . ExcludedDatabases , "d.name" ) ;
153+
152154 var query = $@ "
153155SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
154156
@@ -158,6 +160,7 @@ FROM sys.databases AS d
158160WHERE (d.database_id > 4 OR d.database_id = 2)
159161AND d.database_id < 32761
160162AND d.name <> N'PerformanceMonitor'
163+ { dbConfigExclusionClause }
161164ORDER BY d.name
162165OPTION(RECOMPILE);" ;
163166
@@ -173,6 +176,8 @@ ORDER BY d.name
173176 using var sqlConnection = await CreateConnectionAsync ( server , cancellationToken ) ;
174177 using var command = new SqlCommand ( query , sqlConnection ) ;
175178 command . CommandTimeout = CommandTimeoutSeconds ;
179+ var ( _, dbConfigExclusionParams ) = BuildDatabaseExclusionFilter ( server . ExcludedDatabases , "d.name" ) ;
180+ foreach ( var p in dbConfigExclusionParams ) command . Parameters . Add ( p ) ;
176181
177182 using var reader = await command . ExecuteReaderAsync ( cancellationToken ) ;
178183 while ( await reader . ReadAsync ( cancellationToken ) )
@@ -329,7 +334,7 @@ private async Task<int> CollectDatabaseScopedConfigAsync(ServerConnection server
329334 var serverStatus = _serverManager . GetConnectionStatus ( server . Id ) ;
330335 bool isAzureSqlDb = serverStatus ? . SqlEngineEdition == 5 ;
331336
332- const string onPremDbQuery = @"
337+ string onPremDbQuery = @"
333338SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
334339
335340SELECT
@@ -347,10 +352,11 @@ AND d.name <> N'PerformanceMonitor'
347352 drs.database_id IS NULL /*not in any AG*/
348353 OR drs.is_primary_replica = 1 /*primary replica*/
349354)
355+ /*EXCLUSION_FILTER*/
350356ORDER BY d.name
351357OPTION(RECOMPILE);" ;
352358
353- const string azureDbQuery = @"
359+ string azureDbQuery = @"
354360SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
355361
356362SELECT
@@ -360,9 +366,14 @@ FROM sys.databases AS d
360366AND d.database_id < 32761
361367AND d.name <> N'PerformanceMonitor'
362368AND d.state_desc = N'ONLINE'
369+ /*EXCLUSION_FILTER*/
363370ORDER BY d.name
364371OPTION(RECOMPILE);" ;
365372
373+ var ( scopedExclusionClause , _) = BuildDatabaseExclusionFilter ( server . ExcludedDatabases , "d.name" ) ;
374+ onPremDbQuery = onPremDbQuery . Replace ( "/*EXCLUSION_FILTER*/" , scopedExclusionClause ) ;
375+ azureDbQuery = azureDbQuery . Replace ( "/*EXCLUSION_FILTER*/" , scopedExclusionClause ) ;
376+
366377 string dbQuery = isAzureSqlDb ? azureDbQuery : onPremDbQuery ;
367378
368379 var serverId = GetServerId ( server ) ;
@@ -379,6 +390,8 @@ ORDER BY d.name
379390 using ( var dbCommand = new SqlCommand ( dbQuery , sqlConnection ) )
380391 {
381392 dbCommand . CommandTimeout = CommandTimeoutSeconds ;
393+ var ( _, scopedExclusionParams ) = BuildDatabaseExclusionFilter ( server . ExcludedDatabases , "d.name" ) ;
394+ foreach ( var p in scopedExclusionParams ) dbCommand . Parameters . Add ( p ) ;
382395 using var dbReader = await dbCommand . ExecuteReaderAsync ( cancellationToken ) ;
383396 while ( await dbReader . ReadAsync ( cancellationToken ) )
384397 {
0 commit comments