--USE YourDB
DECLARE @badqry NVARCHAR(MAX)
SELECT TOP (1) @badqry = SUBSTRING(st.text, (r.statement_start_offset/2) + 1,
((CASE statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE r.statement_end_offset
END - r.statement_start_offset)/2) + 1)
FROM sys.dm_exec_requests r
CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) st
WHERE st.text LIKE '(@results_row_count int,@interval_start_time%'
IF @badqry IS NULL
RAISERROR('Missed the plan',16,1)
EXEC sp_create_plan_guide
@name = N'Fixing QueryStore Top Duration', -- Change name for each resource dashboard
@stmt = @badqry,
@type = N'SQL',
@module_or_batch = NULL,
@params = N'@results_row_count int,@interval_start_time datetimeoffset(7),@interval_end_time datetimeoffset(7)',
@hints = N'OPTION (HASH JOIN, LOOP JOIN)'
DECLARE @badqry NVARCHAR(MAX)
SELECT TOP (1) @badqry = SUBSTRING(st.text, (r.statement_start_offset/2) + 1,
FROM sys.dm_exec_requests r
IF @badqry IS NULL
RAISERROR('Missed the plan',16,1)
EXEC sp_create_plan_guide
@name = N'Fixing QueryStore Top Duration', -- Change name for each resource dashboard
@stmt = @badqry,
@type = N'SQL',
@module_or_batch = NULL,
@params = N'@results_row_count int,@interval_start_time datetimeoffset(7),@interval_end_time datetimeoffset(7)',
@hints = N'OPTION (HASH JOIN, LOOP JOIN)'
Comments
Post a Comment