From de328c66c5c0f3c1258eb44dd3e2a612f8b27577 Mon Sep 17 00:00:00 2001 From: Ben <60398078+bwiggin10@users.noreply.github.com> Date: Mon, 16 Jun 2025 16:04:10 -0400 Subject: [PATCH 1/2] Add check for Query Store to sp_ineachdb --- sp_ineachdb.sql | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/sp_ineachdb.sql b/sp_ineachdb.sql index 16df3b7c..b156bcf5 100644 --- a/sp_ineachdb.sql +++ b/sp_ineachdb.sql @@ -29,7 +29,8 @@ ALTER PROCEDURE [dbo].[sp_ineachdb] @Version varchar(30) = NULL OUTPUT, @VersionDate datetime = NULL OUTPUT, @VersionCheckMode bit = 0, - @is_ag_writeable_copy bit = 0 + @is_ag_writeable_copy bit = 0, + @is_query_store_on bit = 0 -- WITH EXECUTE AS OWNER – maybe not a great idea, depending on the security of your system AS BEGIN @@ -235,6 +236,23 @@ OPTION (MAXRECURSION 0); ) ); + -- delete any databases that don't match query store criteria + IF @SQLVersion >= 13 + BEGIN + DELETE dbs FROM #ineachdb AS dbs + WHERE EXISTS + ( + SELECT 1 + FROM sys.databases AS d + WHERE d.database_id = dbs.id + AND NOT + ( + is_query_store_on = COALESCE(@is_query_store_on, is_query_store_on) + AND NOT (@is_query_store_on = 1 AND d.database_id = 3) OR (@is_query_store_on = 0 AND d.database_id = 3) -- Excluding the model database which shows QS enabled in SQL2022+ + ) + ); + END + -- if a user access is specified, remove any that are NOT in that state IF @user_access IN (N'SINGLE_USER', N'MULTI_USER', N'RESTRICTED_USER') BEGIN From 470d55126071d5a8cafef5de5590ee6101e21faf Mon Sep 17 00:00:00 2001 From: Ben <60398078+bwiggin10@users.noreply.github.com> Date: Mon, 16 Jun 2025 16:06:33 -0400 Subject: [PATCH 2/2] Formatting --- sp_ineachdb.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sp_ineachdb.sql b/sp_ineachdb.sql index b156bcf5..bf9b147b 100644 --- a/sp_ineachdb.sql +++ b/sp_ineachdb.sql @@ -241,7 +241,7 @@ OPTION (MAXRECURSION 0); BEGIN DELETE dbs FROM #ineachdb AS dbs WHERE EXISTS - ( + ( SELECT 1 FROM sys.databases AS d WHERE d.database_id = dbs.id