Skip to content

Commit fe4b2f8

Browse files
committed
2019-09 Release
Because merge conflicts are painful.
1 parent 97bc5e4 commit fe4b2f8

19 files changed

+792
-251
lines changed

Documentation/sp_BlitzCache Checks by Priority.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,14 @@ If you want to add a new check, start at 63
6666
| 150 | Expensive Index Spool | You have an index spool, this is usually a sign that there's an index missing somewhere. | https://www.brentozar.com/blitzcache/eager-index-spools/ | 54 | No |
6767
| 150 | Index Spools Many Rows | You have an index spool that spools more rows than the query returns | https://www.brentozar.com/blitzcache/eager-index-spools/ | 55 | No |
6868
| 100 | Potentially bad cardinality estimates | Estimated rows are different from average rows by a factor of 10000 | https://www.brentozar.com/blitzcache/bad-estimates/ | 56 | Yes |
69-
| 200 | Is Paul White Electric? | This query has a Switch operator in it! | http://sqlblog.com/blogs/paul_white/archive/2013/06/11/hello-operator-my-switch-is-bored.aspx | 998 | Yes |
69+
| 200 | Is Paul White Electric? | This query has a Switch operator in it! | https://www.sql.kiwi/2013/06/hello-operator-my-switch-is-bored.html | 998 | Yes |
7070
| 200 | Database Level Statistics | Database has stats updated 7 days ago with more than 100k modifications | https://www.brentozar.com/blitzcache/stale-statistics/ | 999 | No |
7171
| 200 | Row Goals | This query had row goals introduced | https://www.brentozar.com/go/rowgoals/ | 58 | Yes |
7272
| 100 | tempdb Spills | This query spills >500mb to tempdb on average | https://www.brentozar.com/blitzcache/tempdb-spills/ | 59 | No |
7373
| 100 | MSTVFs | These have many of the same problems scalar UDFs have | http://brentozar.com/blitzcache/tvf-join/ | 60 | No |
7474
| 100 | Many to Many Merge | These use secret worktables that could be doing lots of reads | Blog not published yet | 61 | Yes |
7575
| 50 | Non-SARGable queries | Queries may have non-SARGable predicates |http://brentozar.com/go/sargable| 62 | No |
76+
| 50 | Selects w/ Writes | Read queries are causing writes | https://dba.stackexchange.com/questions/191825/ | This is thrown when reads cause writes that are not already flagged as big spills (2016+) or index spools | No |
7677
| 254 | Plan Cache Information | Breaks cache down by creation date (24/4/1 hrs) | None | 999 | No |
7778
| 255 | Global Trace Flags Enabled | You have Global Trace Flags enabled on your server | https://www.brentozar.com/blitz/trace-flags-enabled-globally/ | 1000 | No |
7879
| 255 | Need more help? | Paste your plan on the internet! | http://pastetheplan.com | 2147483646 | No |

Install-All-Scripts.sql

Lines changed: 181 additions & 66 deletions
Large diffs are not rendered by default.

Install-Core-Blitz-No-Query-Store.sql

Lines changed: 173 additions & 58 deletions
Large diffs are not rendered by default.

Install-Core-Blitz-With-Query-Store.sql

Lines changed: 175 additions & 60 deletions
Large diffs are not rendered by default.

Uninstall.sql

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
--First Responder Kit Uninstaller Script
2+
3+
--Configuration Parameters
4+
5+
DECLARE @allDatabases bit = 0; --Flip this bit to 1 if you want to uninstall the scripts from all the databases, not only the current one
6+
DECLARE @printOnly bit = 0; --Flip this bit to 1 if you want to print the drop commands only without executing
7+
8+
--End Configuration
9+
--Variables
10+
11+
SET NOCOUNT ON;
12+
DECLARE @SQL nvarchar(max) = N'';
13+
14+
IF OBJECT_ID('tempdb.dbo.#ToDelete') IS NOT NULL
15+
DROP TABLE #ToDelete;
16+
17+
SELECT 'sp_AllNightLog' as ProcedureName INTO #ToDelete UNION
18+
SELECT 'sp_AllNightLog_Setup' as ProcedureName UNION
19+
SELECT 'sp_Blitz' as ProcedureName UNION
20+
SELECT 'sp_BlitzBackups' as ProcedureName UNION
21+
SELECT 'sp_BlitzCache' as ProcedureName UNION
22+
SELECT 'sp_BlitzFirst' as ProcedureName UNION
23+
SELECT 'sp_BlitzInMemoryOLTP' as ProcedureName UNION
24+
SELECT 'sp_BlitzIndex' as ProcedureName UNION
25+
SELECT 'sp_BlitzLock' as ProcedureName UNION
26+
SELECT 'sp_BlitzQueryStore' as ProcedureName UNION
27+
SELECT 'sp_BlitzWho' as ProcedureName UNION
28+
SELECT 'sp_DatabaseRestore' as ProcedureName UNION
29+
SELECT 'sp_foreachdb' as ProcedureName UNION
30+
SELECT 'sp_ineachdb' as ProcedureName
31+
32+
--End Variables
33+
34+
IF (@allDatabases = 0)
35+
BEGIN
36+
37+
SELECT @SQL += N'DROP PROCEDURE dbo.' + D.ProcedureName + ';' + CHAR(10)
38+
FROM sys.procedures P
39+
JOIN #ToDelete D ON D.ProcedureName = P.name;
40+
41+
END
42+
ELSE
43+
BEGIN
44+
45+
DECLARE @dbname SYSNAME;
46+
DECLARE @innerSQL NVARCHAR(max);
47+
48+
DECLARE c CURSOR LOCAL FAST_FORWARD
49+
FOR SELECT QUOTENAME([name])
50+
FROM sys.databases
51+
WHERE [state] = 0;
52+
53+
OPEN c;
54+
55+
FETCH NEXT FROM c INTO @dbname;
56+
57+
WHILE(@@FETCH_STATUS = 0)
58+
BEGIN
59+
60+
SET @innerSQL = N' SELECT @SQL += N''USE ' + @dbname + N';' + NCHAR(10) + N'DROP PROCEDURE dbo.'' + D.ProcedureName + '';'' + NCHAR(10)
61+
FROM ' + @dbname + N'.sys.procedures P
62+
JOIN #ToDelete D ON D.ProcedureName = P.name COLLATE DATABASE_DEFAULT';
63+
64+
EXEC sp_executeSQL @innerSQL, N'@SQL nvarchar(max) OUTPUT', @SQL = @SQL OUTPUT;
65+
66+
FETCH NEXT FROM c INTO @dbname;
67+
68+
END
69+
70+
CLOSE c;
71+
DEALLOCATE c;
72+
73+
END
74+
75+
PRINT @SQL;
76+
77+
IF(@printOnly = 0)
78+
EXEC sp_executesql @SQL

sp_AllNightLog.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ SET NOCOUNT ON;
3030
BEGIN;
3131

3232

33-
SELECT @Version = '3.7', @VersionDate = '20190826';
33+
SELECT @Version = '3.8', @VersionDate = '20190922';
3434

3535
IF(@VersionCheckMode = 1)
3636
BEGIN

sp_AllNightLog_Setup.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ SET NOCOUNT ON;
3636

3737
BEGIN;
3838

39-
SELECT @Version = '3.7', @VersionDate = '20190826';
39+
SELECT @Version = '3.8', @VersionDate = '20190922';
4040

4141
IF(@VersionCheckMode = 1)
4242
BEGIN

sp_Blitz.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ AS
3636
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
3737

3838

39-
SELECT @Version = '7.7', @VersionDate = '20190826';
39+
SELECT @Version = '7.8', @VersionDate = '20190922';
4040
SET @OutputType = UPPER(@OutputType);
4141

4242
IF(@VersionCheckMode = 1)

sp_BlitzBackups.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ AS
2323
SET NOCOUNT ON;
2424
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
2525

26-
SELECT @Version = '3.7', @VersionDate = '20190826';
26+
SELECT @Version = '3.8', @VersionDate = '20190922';
2727

2828
IF(@VersionCheckMode = 1)
2929
BEGIN

sp_BlitzCache.sql

Lines changed: 119 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,7 @@ CREATE TABLE ##BlitzCacheProcs (
222222
is_mstvf BIT,
223223
is_mm_join BIT,
224224
is_nonsargable BIT,
225+
select_with_writes BIT,
225226
implicit_conversion_info XML,
226227
cached_execution_parameters XML,
227228
missing_indexes XML,
@@ -271,7 +272,7 @@ BEGIN
271272
SET NOCOUNT ON;
272273
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
273274

274-
SELECT @Version = '7.7', @VersionDate = '20190826';
275+
SELECT @Version = '7.8', @VersionDate = '20190922';
275276

276277

277278
IF(@VersionCheckMode = 1)
@@ -345,7 +346,7 @@ BEGIN
345346
UNION ALL
346347
SELECT N'@SortOrder',
347348
N'VARCHAR(10)',
348-
N'Data processing and display order. @SortOrder will still be used, even when preparing output for a table or for excel. Possible values are: "CPU", "Reads", "Writes", "Duration", "Executions", "Recent Compilations", "Memory Grant", "Spills". Additionally, the word "Average" or "Avg" can be used to sort on averages rather than total. "Executions per minute" and "Executions / minute" can be used to sort by execution per minute. For the truly lazy, "xpm" can also be used. Note that when you use all or all avg, the only parameters you can use are @Top and @DatabaseName. All others will be ignored.'
349+
N'Data processing and display order. @SortOrder will still be used, even when preparing output for a table or for excel. Possible values are: "CPU", "Reads", "Writes", "Duration", "Executions", "Recent Compilations", "Memory Grant", "Spills", "Query Hash". Additionally, the word "Average" or "Avg" can be used to sort on averages rather than total. "Executions per minute" and "Executions / minute" can be used to sort by execution per minute. For the truly lazy, "xpm" can also be used. Note that when you use all or all avg, the only parameters you can use are @Top and @DatabaseName. All others will be ignored.'
349350

350351
UNION ALL
351352
SELECT N'@UseTriggersAnyway',
@@ -611,8 +612,9 @@ BEGIN
611612
UNION ALL
612613
SELECT N'MaxUsedGrantKB',
613614
N'BIGINT',
614-
N'The maximum used memory grant the query received in kb.';
615+
N'The maximum used memory grant the query received in kb.'
615616

617+
UNION ALL
616618
SELECT N'MinSpills',
617619
N'BIGINT',
618620
N'The minimum amount this query has spilled to tempdb in 8k pages.'
@@ -980,6 +982,7 @@ BEGIN
980982
is_mstvf BIT,
981983
is_mm_join BIT,
982984
is_nonsargable BIT,
985+
select_with_writes BIT,
983986
implicit_conversion_info XML,
984987
cached_execution_parameters XML,
985988
missing_indexes XML,
@@ -1059,7 +1062,8 @@ RAISERROR(N'Checking sort order', 0, 1) WITH NOWAIT;
10591062
IF @SortOrder NOT IN ('cpu', 'avg cpu', 'reads', 'avg reads', 'writes', 'avg writes',
10601063
'duration', 'avg duration', 'executions', 'avg executions',
10611064
'compiles', 'memory grant', 'avg memory grant',
1062-
'spills', 'avg spills', 'all', 'all avg', 'sp_BlitzIndex')
1065+
'spills', 'avg spills', 'all', 'all avg', 'sp_BlitzIndex',
1066+
'query hash')
10631067
BEGIN
10641068
RAISERROR(N'Invalid sort order chosen, reverting to cpu', 16, 1) WITH NOWAIT;
10651069
SET @SortOrder = 'cpu';
@@ -1092,12 +1096,9 @@ IF EXISTS(SELECT * FROM sys.all_columns WHERE OBJECT_ID = OBJECT_ID('sys.dm_exec
10921096
ELSE
10931097
SET @VersionShowsSpills = 0;
10941098

1095-
/* This new 2019 & Azure SQL DB feature isn't working consistently, so turning it back off til Microsoft gets it ready.
1096-
See this Github issue for more details: https://github.com/BrentOzarULTD/SQL-Server-First-Responder-Kit/issues/2022
10971099
IF EXISTS(SELECT * FROM sys.all_columns WHERE OBJECT_ID = OBJECT_ID('sys.dm_exec_query_plan_stats') AND name = 'query_plan')
10981100
SET @VersionShowsAirQuoteActualPlans = 1;
10991101
ELSE
1100-
*/
11011102
SET @VersionShowsAirQuoteActualPlans = 0;
11021103

11031104
IF @Reanalyze = 1 AND OBJECT_ID('tempdb..##BlitzCacheResults') IS NULL
@@ -1133,6 +1134,12 @@ IF @SortOrder IN ('all', 'all avg')
11331134
GOTO AllSorts;
11341135
END;
11351136

1137+
IF @SortOrder = 'query hash'
1138+
BEGIN
1139+
RAISERROR(N'Checking most CPU-intensive queries with multiple plans', 0, 1) WITH NOWAIT;
1140+
GOTO QueryHash;
1141+
END;
1142+
11361143

11371144
RAISERROR(N'Creating temp tables for internal processing', 0, 1) WITH NOWAIT;
11381145
IF OBJECT_ID('tempdb..#only_query_hashes') IS NOT NULL
@@ -2038,7 +2045,7 @@ SELECT TOP (@Top)
20382045

20392046
IF @VersionShowsAirQuoteActualPlans = 1
20402047
BEGIN
2041-
SET @plans_triggers_select_list += N' COALESCE(deqps.query_plan, qp.query_plan) AS QueryPlan, ' + @nl ;
2048+
SET @plans_triggers_select_list += N' CASE WHEN DATALENGTH(COALESCE(deqps.query_plan,'''')) > DATALENGTH(COALESCE(qp.query_plan,'''')) THEN deqps.query_plan ELSE qp.query_plan END AS QueryPlan, ' + @nl ;
20422049
END;
20432050
ELSE
20442051
BEGIN
@@ -2184,7 +2191,7 @@ BEGIN
21842191

21852192
IF @VersionShowsAirQuoteActualPlans = 1
21862193
BEGIN
2187-
SET @sql += N' COALESCE(deqps.query_plan, qp.query_plan) AS QueryPlan, ' + @nl ;
2194+
SET @sql += N' CASE WHEN DATALENGTH(COALESCE(deqps.query_plan,'''')) > DATALENGTH(COALESCE(qp.query_plan,'''')) THEN deqps.query_plan ELSE qp.query_plan END AS QueryPlan, ' + @nl ;
21882195
END
21892196
ELSE
21902197
BEGIN
@@ -3312,6 +3319,25 @@ JOIN spools sp
33123319
ON sp.QueryHash = b.QueryHash
33133320
OPTION (RECOMPILE);
33143321

3322+
RAISERROR('Checking for selects that cause non-spill and index spool writes', 0, 1) WITH NOWAIT;
3323+
WITH XMLNAMESPACES (
3324+
'http://schemas.microsoft.com/sqlserver/2004/07/showplan' AS p )
3325+
, selects
3326+
AS ( SELECT s.QueryHash
3327+
FROM #statements AS s
3328+
JOIN ##BlitzCacheProcs b
3329+
ON s.QueryHash = b.QueryHash
3330+
WHERE b.index_spool_rows IS NULL
3331+
AND b.index_spool_cost IS NULL
3332+
AND b.is_big_spills IS NULL
3333+
AND b.AverageWrites > 1024.
3334+
AND s.statement.exist('/p:StmtSimple/@StatementType[.="SELECT"]') = 1
3335+
)
3336+
UPDATE b
3337+
SET b.select_with_writes = 1
3338+
FROM ##BlitzCacheProcs b
3339+
JOIN selects AS s
3340+
ON s.QueryHash = b.QueryHash;
33153341

33163342
/* 2012+ only */
33173343
IF @v >= 11
@@ -4439,7 +4465,8 @@ SET Warnings = SUBSTRING(
44394465
CASE WHEN is_nonsargable = 1 THEN ', non-SARGables' ELSE '' END +
44404466
CASE WHEN CompileTime > 5000 THEN ', Long Compile Time' ELSE '' END +
44414467
CASE WHEN CompileCPU > 5000 THEN ', High Compile CPU' ELSE '' END +
4442-
CASE WHEN CompileMemory > 1024 AND ((CompileMemory) / (1 * CASE WHEN MaxCompileMemory = 0 THEN 1 ELSE MaxCompileMemory END) * 100.) >= 10. THEN ', High Compile Memory' ELSE '' END
4468+
CASE WHEN CompileMemory > 1024 AND ((CompileMemory) / (1 * CASE WHEN MaxCompileMemory = 0 THEN 1 ELSE MaxCompileMemory END) * 100.) >= 10. THEN ', High Compile Memory' ELSE '' END +
4469+
CASE WHEN select_with_writes > 0 THEN ', Select w/ Writes' ELSE '' END
44434470
, 3, 200000)
44444471
WHERE SPID = @@SPID
44454472
OPTION (RECOMPILE);
@@ -4517,7 +4544,8 @@ SELECT DISTINCT
45174544
CASE WHEN is_nonsargable = 1 THEN ', non-SARGables' ELSE '' END +
45184545
CASE WHEN CompileTime > 5000 THEN ', Long Compile Time' ELSE '' END +
45194546
CASE WHEN CompileCPU > 5000 THEN ', High Compile CPU' ELSE '' END +
4520-
CASE WHEN CompileMemory > 1024 AND ((CompileMemory) / (1 * CASE WHEN MaxCompileMemory = 0 THEN 1 ELSE MaxCompileMemory END) * 100.) >= 10. THEN ', High Compile Memory' ELSE '' END
4547+
CASE WHEN CompileMemory > 1024 AND ((CompileMemory) / (1 * CASE WHEN MaxCompileMemory = 0 THEN 1 ELSE MaxCompileMemory END) * 100.) >= 10. THEN ', High Compile Memory' ELSE '' END +
4548+
CASE WHEN select_with_writes > 0 THEN ', Select w/ Writes' ELSE '' END
45214549
, 3, 200000)
45224550
FROM ##BlitzCacheProcs b
45234551
WHERE SPID = @@SPID
@@ -4806,7 +4834,8 @@ BEGIN
48064834
CASE WHEN is_nonsargable = 1 THEN '', 62'' ELSE '''' END +
48074835
CASE WHEN CompileTime > 5000 THEN '', 63 '' ELSE '''' END +
48084836
CASE WHEN CompileCPU > 5000 THEN '', 64 '' ELSE '''' END +
4809-
CASE WHEN CompileMemory > 1024 AND ((CompileMemory) / (1 * CASE WHEN MaxCompileMemory = 0 THEN 1 ELSE MaxCompileMemory END) * 100.) >= 10. THEN '', 65 '' ELSE '''' END
4837+
CASE WHEN CompileMemory > 1024 AND ((CompileMemory) / (1 * CASE WHEN MaxCompileMemory = 0 THEN 1 ELSE MaxCompileMemory END) * 100.) >= 10. THEN '', 65 '' ELSE '''' END +
4838+
CASE WHEN select_with_writes > 0 THEN '', 66'' ELSE '''' END
48104839
, 3, 200000) AS opserver_warning , ' + @nl ;
48114840
END;
48124841

@@ -5662,7 +5691,7 @@ BEGIN
56625691
200,
56635692
'Is Paul White Electric?',
56645693
'This query has a Switch operator in it!',
5665-
'http://sqlblog.com/blogs/paul_white/archive/2013/06/11/hello-operator-my-switch-is-bored.aspx',
5694+
'https://www.sql.kiwi/2013/06/hello-operator-my-switch-is-bored.html',
56665695
'You should email this query plan to Paul: SQLkiwi at gmail dot com') ;
56675696

56685697
IF @v >= 14 OR (@v = 13 AND @build >= 5026)
@@ -5790,6 +5819,19 @@ BEGIN
57905819
'https://www.brentozar.com/blitzcache/high-compilers/',
57915820
'If you see high RESOURCE_SEMAPHORE_QUERY_COMPILE waits, these may be related');
57925821

5822+
IF EXISTS (SELECT 1/0
5823+
FROM ##BlitzCacheProcs p
5824+
WHERE p.select_with_writes = 1
5825+
)
5826+
INSERT INTO ##BlitzCacheResults (SPID, CheckID, Priority, FindingsGroup, Finding, URL, Details)
5827+
VALUES (@@SPID,
5828+
66,
5829+
50,
5830+
'Selects w/ Writes',
5831+
'Read queries are causing writes',
5832+
'https://dba.stackexchange.com/questions/191825/',
5833+
'This is thrown when reads cause writes that are not already flagged as big spills (2016+) or index spools.');
5834+
57935835
IF EXISTS (SELECT 1/0
57945836
FROM #plan_creation p
57955837
WHERE (p.percent_24 > 0)
@@ -6434,6 +6476,70 @@ END;
64346476

64356477
/*End of AllSort section*/
64366478

6479+
/*Begin*/
6480+
QueryHash:
6481+
RAISERROR('Beginning query hash sort', 0, 1) WITH NOWAIT;
6482+
6483+
BEGIN
6484+
6485+
SELECT qs.query_hash,
6486+
MAX(qs.max_worker_time) AS max_worker_time,
6487+
COUNT_BIG(*) AS records
6488+
INTO #query_hash_grouped
6489+
FROM sys.dm_exec_query_stats AS qs
6490+
CROSS APPLY ( SELECT pa.value
6491+
FROM sys.dm_exec_plan_attributes(qs.plan_handle) AS pa
6492+
WHERE pa.attribute = 'dbid' ) AS ca
6493+
GROUP BY qs.query_hash, ca.value
6494+
HAVING COUNT_BIG(*) > 1
6495+
ORDER BY max_worker_time DESC,
6496+
records DESC;
6497+
6498+
DECLARE @qhg NVARCHAR(MAX) = N''
6499+
6500+
SELECT TOP (1)
6501+
@qhg = STUFF((SELECT DISTINCT N',' + CONVERT(NVARCHAR(MAX), qhg.query_hash, 1)
6502+
FROM #query_hash_grouped AS qhg
6503+
WHERE qhg.query_hash <> 0x00
6504+
FOR XML PATH(N''), TYPE).value(N'.[1]', N'NVARCHAR(MAX)'), 1, 1, N'')
6505+
OPTION(RECOMPILE);
6506+
6507+
EXEC sp_BlitzCache @Top = @Top,
6508+
@SortOrder = 'cpu',
6509+
@UseTriggersAnyway = @UseTriggersAnyway,
6510+
@ExportToExcel = @ExportToExcel,
6511+
@ExpertMode = @ExpertMode,
6512+
@OutputServerName = @OutputServerName,
6513+
@OutputDatabaseName = @OutputDatabaseName,
6514+
@OutputSchemaName = @OutputSchemaName,
6515+
@OutputTableName = @OutputTableName,
6516+
@ConfigurationDatabaseName = @ConfigurationDatabaseName,
6517+
@ConfigurationSchemaName = @ConfigurationSchemaName,
6518+
@ConfigurationTableName = @ConfigurationTableName,
6519+
@DurationFilter = @DurationFilter,
6520+
@HideSummary = @HideSummary,
6521+
@IgnoreSystemDBs = @IgnoreSystemDBs,
6522+
@OnlyQueryHashes = @qhg,
6523+
@IgnoreQueryHashes = @IgnoreQueryHashes,
6524+
@OnlySqlHandles = @OnlySqlHandles,
6525+
@IgnoreSqlHandles = @IgnoreSqlHandles,
6526+
@QueryFilter = @QueryFilter,
6527+
@DatabaseName = @DatabaseName,
6528+
@StoredProcName = @StoredProcName,
6529+
@SlowlySearchPlansFor = @SlowlySearchPlansFor,
6530+
@Reanalyze = @Reanalyze,
6531+
@SkipAnalysis = @SkipAnalysis,
6532+
@BringThePain = @BringThePain,
6533+
@MinimumExecutionCount = @MinimumExecutionCount,
6534+
@Debug = @Debug,
6535+
@CheckDateOverride = @CheckDateOverride,
6536+
@MinutesBack = @MinutesBack;
6537+
6538+
END;
6539+
6540+
6541+
/*End*/
6542+
64376543
/*Begin code to sort by all*/
64386544
OutputResultsToTable:
64396545

0 commit comments

Comments
 (0)