@@ -1093,6 +1093,7 @@ CREATE TABLE
10931093 is_trivial_plan bit NOT NULL ,
10941094 is_parallel_plan bit NOT NULL ,
10951095 is_forced_plan bit NOT NULL ,
1096+ toggle_forcing nvarchar (300 ) NOT NULL ,
10961097 is_natively_compiled bit NOT NULL ,
10971098 force_failure_count bigint NOT NULL ,
10981099 last_force_failure_reason_desc nvarchar (128 ) NULL ,
@@ -1553,11 +1554,13 @@ INSERT INTO
15531554 column_id, metric_group, metric_type, column_name, column_source, is_conditional, condition_param, condition_value, expert_only, format_pattern
15541555)
15551556VALUES
1557+ (10 , ' emergency_troubleshooting' , ' toggle_forcing' , ' toggle_forcing' , ' qsp.toggle_forcing' , 0 , NULL , NULL , 1 , NULL ),
15561558 (20 , ' metadata' , ' force_count' , ' force_failure_count' , ' qsp.force_failure_count' , 0 , NULL , NULL , 0 , NULL ),
15571559 (30 , ' metadata' , ' force_reason' , ' last_force_failure_reason_desc' , ' qsp.last_force_failure_reason_desc' , 0 , NULL , NULL , 0 , NULL ),
15581560 /* SQL 2022 specific columns */
15591561 (40 , ' sql_2022' , ' feedback' , ' has_query_feedback' , ' CASE WHEN EXISTS (SELECT 1/0 FROM #query_store_plan_feedback AS qspf WHERE qspf.plan_id = qsp.plan_id) THEN '' Yes'' ELSE '' No'' END' , 1 , ' sql_2022_views' , 1 , 0 , NULL ),
15601562 (50 , ' sql_2022' , ' hints' , ' has_query_store_hints' , ' CASE WHEN EXISTS (SELECT 1/0 FROM #query_store_query_hints AS qsqh WHERE qsqh.query_id = qsp.query_id) THEN '' Yes'' ELSE '' No'' END' , 1 , ' sql_2022_views' , 1 , 0 , NULL ),
1563+ (55 , ' sql_2022' , ' hints' , ' set_query_store_hints' , ' '' EXECUTE '' + QUOTENAME(DB_NAME(qsp.database_id)) + '' .sys.sp_query_store_set_hints @query_id = '' + CONVERT(nvarchar(20), qsq.query_id) + '' , @query_hints = N'' '' OPTION(older_hints_go_here, USE HINT('' '' '' '' newer_hints_go_here'' '' '' '' ))'' '' ;'' ' , 1 , ' sql_2022_views' , 1 , 1 , NULL ),
15611564 (60 , ' sql_2022' , ' variants' , ' has_plan_variants' , ' CASE WHEN EXISTS (SELECT 1/0 FROM #query_store_query_variant AS qsqv WHERE qsqv.query_variant_query_id = qsp.query_id) THEN '' Yes'' ELSE '' No'' END' , 1 , ' sql_2022_views' , 1 , 0 , NULL ),
15621565 (70 , ' sql_2022' , ' replay' , ' has_compile_replay_script' , ' qsp.has_compile_replay_script' , 1 , ' sql_2022_views' , 1 , 0 , NULL ),
15631566 (80 , ' sql_2022' , ' opt_forcing' , ' is_optimized_plan_forcing_disabled' , ' qsp.is_optimized_plan_forcing_disabled' , 1 , ' sql_2022_views' , 1 , 0 , NULL ),
@@ -7018,6 +7021,14 @@ SELECT
70187021 qsp.is_trivial_plan,
70197022 qsp.is_parallel_plan,
70207023 qsp.is_forced_plan,
7024+ toggle_forcing =
7025+ CASE
7026+ qsp.is_forced_plan
7027+ WHEN 1
7028+ THEN '' EXECUTE ' + @database_name_quoted + ' .sys.sp_query_store_unforce_plan @query_id = '' + CONVERT(nvarchar(20), qsp.query_id) + '' , @plan_id = '' + CONVERT(nvarchar(20), qsp.plan_id) + '' ;''
7029+ WHEN 0
7030+ THEN '' EXECUTE ' + @database_name_quoted + ' .sys.sp_query_store_force_plan @query_id = '' + CONVERT(nvarchar(20), qsp.query_id) + '' , @plan_id = '' + CONVERT(nvarchar(20), qsp.plan_id) + '' , @disable_optimized_plan_forcing = ? ;''
7031+ END,
70217032 qsp.is_natively_compiled,
70227033 qsp.force_failure_count,
70237034 qsp.last_force_failure_reason_desc,
@@ -7110,6 +7121,7 @@ WITH
71107121 is_trivial_plan,
71117122 is_parallel_plan,
71127123 is_forced_plan,
7124+ toggle_forcing,
71137125 is_natively_compiled,
71147126 force_failure_count,
71157127 last_force_failure_reason_desc,
@@ -9159,6 +9171,8 @@ BEGIN
91599171 qsqh.query_hint_id,
91609172 qsqh.query_id,
91619173 qsqh.query_hint_text,
9174+ remove_hint =
9175+ '' EXECUTE '' + QUOTENAME(DB_NAME(qsqh.database_id)) + '' .sys.sp_query_store_clear_hints @query_id = '' + CONVERT(nvarchar(20), qsqh.query_id) + '' ;'' ,
91629176 qsqh.last_query_hint_failure_reason_desc,
91639177 query_hint_failure_count = ' +
91649178 CASE
0 commit comments