|
103 | 103 | SET NOCOUNT ON;
|
104 | 104 |
|
105 | 105 | DECLARE @Version VARCHAR(30);
|
106 | | -SET @Version = '1.8'; |
107 | | -SET @VersionDate = '20171001'; |
| 106 | +SET @Version = '1.9'; |
| 107 | +SET @VersionDate = '20171101'; |
108 | 108 |
|
109 | 109 | DECLARE @database NVARCHAR(128) = NULL; --Holds the database that's currently being processed
|
110 | 110 | DECLARE @error_number INT = NULL; --Used for TRY/CATCH
|
@@ -1596,8 +1596,8 @@ END; /* IF @Help = 1 */
|
1596 | 1596 | SET NOCOUNT ON;
|
1597 | 1597 |
|
1598 | 1598 | DECLARE @Version VARCHAR(30);
|
1599 | | -SET @Version = '1.8'; |
1600 | | -SET @VersionDate = '20171001'; |
| 1599 | +SET @Version = '1.9'; |
| 1600 | +SET @VersionDate = '20171101'; |
1601 | 1601 |
|
1602 | 1602 | DECLARE @database NVARCHAR(128) = NULL; --Holds the database that's currently being processed
|
1603 | 1603 | DECLARE @error_number INT = NULL; --Used for TRY/CATCH
|
|
2805 | 2805 | SET NOCOUNT ON;
|
2806 | 2806 | SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
|
2807 | 2807 | DECLARE @Version VARCHAR(30);
|
2808 | | - SET @Version = '5.8'; |
2809 | | - SET @VersionDate = '20171001'; |
| 2808 | + SET @Version = '5.9'; |
| 2809 | + SET @VersionDate = '20171101'; |
2810 | 2810 | SET @OutputType = UPPER(@OutputType);
|
2811 | 2811 |
|
2812 | 2812 | IF @Help = 1 PRINT '
|
@@ -10513,8 +10513,8 @@ AS
|
10513 | 10513 | SET NOCOUNT ON;
|
10514 | 10514 | SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
|
10515 | 10515 | DECLARE @Version VARCHAR(30);
|
10516 | | - SET @Version = '1.8'; |
10517 | | - SET @VersionDate = '20171001'; |
| 10516 | + SET @Version = '1.9'; |
| 10517 | + SET @VersionDate = '20171101'; |
10518 | 10518 |
|
10519 | 10519 | IF @Help = 1 PRINT '
|
10520 | 10520 | /*
|
@@ -12266,8 +12266,8 @@ SET NOCOUNT ON;
|
12266 | 12266 | SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
|
12267 | 12267 |
|
12268 | 12268 | DECLARE @Version VARCHAR(30);
|
12269 | | -SET @Version = '5.8'; |
12270 | | -SET @VersionDate = '20171001'; |
| 12269 | +SET @Version = '5.9'; |
| 12270 | +SET @VersionDate = '20171101'; |
12271 | 12271 |
|
12272 | 12272 | IF @Help = 1 PRINT '
|
12273 | 12273 | sp_BlitzCache from http://FirstResponderKit.org
|
@@ -13144,6 +13144,7 @@ CREATE TABLE #plan_creation
|
13144 | 13144 | percent_24 DECIMAL(5, 2),
|
13145 | 13145 | percent_4 DECIMAL(5, 2),
|
13146 | 13146 | percent_1 DECIMAL(5, 2),
|
| 13147 | + total_plans INT, |
13147 | 13148 | SPID INT
|
13148 | 13149 | );
|
13149 | 13150 |
|
@@ -13196,10 +13197,11 @@ SELECT SUM(CASE WHEN DATEDIFF(HOUR, deqs.creation_time, SYSDATETIME()) <= 24 THE
|
13196 | 13197 | COUNT(deqs.creation_time) AS [total_plans]
|
13197 | 13198 | FROM sys.dm_exec_query_stats AS deqs
|
13198 | 13199 | )
|
13199 | | -INSERT INTO #plan_creation |
| 13200 | +INSERT INTO #plan_creation ( percent_24, percent_4, percent_1, total_plans, SPID ) |
13200 | 13201 | SELECT CONVERT(DECIMAL(3,2), NULLIF(x.plans_24, 0) / (1. * NULLIF(x.total_plans, 0))) * 100 AS [percent_24],
|
13201 | 13202 | CONVERT(DECIMAL(3,2), NULLIF(x.plans_4 , 0) / (1. * NULLIF(x.total_plans, 0))) * 100 AS [percent_4],
|
13202 | 13203 | CONVERT(DECIMAL(3,2), NULLIF(x.plans_1 , 0) / (1. * NULLIF(x.total_plans, 0))) * 100 AS [percent_1],
|
| 13204 | + x.total_plans, |
13203 | 13205 | @@SPID AS SPID
|
13204 | 13206 | FROM x
|
13205 | 13207 | OPTION (RECOMPILE) ;
|
@@ -16785,7 +16787,14 @@ BEGIN
|
16785 | 16787 | 999,
|
16786 | 16788 | 254,
|
16787 | 16789 | 'Plan Cache Information',
|
16788 | | - 'You have ' + CONVERT(NVARCHAR(10), ISNULL(p.percent_24, 0)) + '% plans created in the past 24 hours, ' + CONVERT(NVARCHAR(10), ISNULL(p.percent_4, 0)) + '% created in the past 4 hours, and ' + CONVERT(NVARCHAR(10), ISNULL(p.percent_1, 0)) + '% created in the past 1 hour.', |
| 16790 | + 'You have ' + CONVERT(NVARCHAR(10), ISNULL(p.total_plans, 0)) |
| 16791 | + + ' total plans in your cache, with ' |
| 16792 | + + CONVERT(NVARCHAR(10), ISNULL(p.percent_24, 0)) |
| 16793 | + + '% plans created in the past 24 hours, ' |
| 16794 | + + CONVERT(NVARCHAR(10), ISNULL(p.percent_4, 0)) |
| 16795 | + + '% created in the past 4 hours, and ' |
| 16796 | + + CONVERT(NVARCHAR(10), ISNULL(p.percent_1, 0)) |
| 16797 | + + '% created in the past 1 hour.', |
16789 | 16798 | '',
|
16790 | 16799 | 'If these percentages are high, it may be a sign of memory pressure or plan cache instability.'
|
16791 | 16800 | FROM #plan_creation p ;
|
@@ -17347,8 +17356,8 @@ BEGIN
|
17347 | 17356 | SET NOCOUNT ON;
|
17348 | 17357 | SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
|
17349 | 17358 | DECLARE @Version VARCHAR(30);
|
17350 | | -SET @Version = '5.8'; |
17351 | | -SET @VersionDate = '20171001'; |
| 17359 | +SET @Version = '5.9'; |
| 17360 | +SET @VersionDate = '20171101'; |
17352 | 17361 |
|
17353 | 17362 |
|
17354 | 17363 | IF @Help = 1 PRINT '
|
@@ -17514,10 +17523,10 @@ BEGIN
|
17514 | 17523 | + @OutputDatabaseName + '.'
|
17515 | 17524 | + @OutputSchemaName + '.'
|
17516 | 17525 | + @OutputTableName
|
17517 | | - + ' WHERE CheckDate >= DATEADD(mi, -15, ''' + CAST(@AsOf AS NVARCHAR(100)) + ''')' |
17518 | | - + ' AND CheckDate <= DATEADD(mi, 15, ''' + CAST(@AsOf AS NVARCHAR(100)) + ''')' |
| 17526 | + + ' WHERE CheckDate >= DATEADD(mi, -15, CONVERT(DATETIMEOFFSET, ''' + CAST(@AsOf AS NVARCHAR(100)) + '''))' |
| 17527 | + + ' AND CheckDate <= DATEADD(mi, 15, CONVERT(DATETIMEOFFSET, ''' + CAST(@AsOf AS NVARCHAR(100)) + '''))' |
17519 | 17528 | + ' /*ORDER BY CheckDate, Priority , FindingsGroup , Finding , Details*/;';
|
17520 | | -EXEC(@StringToExecute); |
| 17529 | +EXEC(@StringToExecute); |
17521 | 17530 |
|
17522 | 17531 |
|
17523 | 17532 | END /* IF @AsOf IS NOT NULL AND @OutputDatabaseName IS NOT NULL AND @OutputSchemaName IS NOT NULL AND @OutputTableName IS NOT NULL */
|
@@ -18888,7 +18897,7 @@ BEGIN
|
18888 | 18897 | as well get it now - whereas if we're checking 30+ seconds, it might get updated by the
|
18889 | 18898 | end of our sp_BlitzFirst session. */
|
18890 | 18899 | INSERT INTO #BlitzFirstResults (CheckID, Priority, FindingsGroup, Finding, Details, DetailsInt, URL)
|
18891 | | - SELECT 24, 50, 'Server Performance', 'High CPU Utilization', CAST(100 - SystemIdle AS NVARCHAR(20)) + N'%. Ring buffer details: ' + CAST(record AS NVARCHAR(4000)), 100 - SystemIdle, 'http://www.BrentOzar.com/go/cpu' |
| 18900 | + SELECT 24, 50, 'Server Performance', 'High CPU Utilization', CAST(100 - SystemIdle AS NVARCHAR(20)) + N'%.', 100 - SystemIdle, 'http://www.BrentOzar.com/go/cpu' |
18892 | 18901 | FROM (
|
18893 | 18902 | SELECT record,
|
18894 | 18903 | record.value('(./Record/SchedulerMonitorEvent/SystemHealth/SystemIdle)[1]', 'int') AS SystemIdle
|
@@ -20659,17 +20668,15 @@ EXEC dbo.sp_BlitzFirst
|
20659 | 20668 | With extra diagnostic info:
|
20660 | 20669 | EXEC dbo.sp_BlitzFirst @ExpertMode = 1;
|
20661 | 20670 |
|
20662 | | -In Ask a Question mode: |
20663 | | -EXEC dbo.sp_BlitzFirst 'Is this cursor bad?'; |
20664 | | - |
20665 | 20671 | Saving output to tables:
|
20666 | | -EXEC sp_BlitzFirst @Seconds = 60 |
| 20672 | +EXEC sp_BlitzFirst |
20667 | 20673 | , @OutputDatabaseName = 'DBAtools'
|
20668 | 20674 | , @OutputSchemaName = 'dbo'
|
20669 | | -, @OutputTableName = 'BlitzFirstResults' |
20670 | | -, @OutputTableNameFileStats = 'BlitzFirstResults_FileStats' |
20671 | | -, @OutputTableNamePerfmonStats = 'BlitzFirstResults_PerfmonStats' |
20672 | | -, @OutputTableNameWaitStats = 'BlitzFirstResults_WaitStats' |
| 20675 | +, @OutputTableName = 'BlitzFirst' |
| 20676 | +, @OutputTableNameFileStats = 'BlitzFirst_FileStats' |
| 20677 | +, @OutputTableNamePerfmonStats = 'BlitzFirst_PerfmonStats' |
| 20678 | +, @OutputTableNameWaitStats = 'BlitzFirst_WaitStats' |
| 20679 | +, @OutputTableNameBlitzCache = 'BlitzCache' |
20673 | 20680 | */
|
20674 | 20681 | SET ANSI_NULLS ON;
|
20675 | 20682 | SET ANSI_PADDING ON;
|
@@ -20709,8 +20716,8 @@ AS
|
20709 | 20716 | SET NOCOUNT ON;
|
20710 | 20717 | SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
|
20711 | 20718 | DECLARE @Version VARCHAR(30);
|
20712 | | -SET @Version = '5.8'; |
20713 | | -SET @VersionDate = '20171001'; |
| 20719 | +SET @Version = '5.9'; |
| 20720 | +SET @VersionDate = '20171101'; |
20714 | 20721 | IF @Help = 1 PRINT '
|
20715 | 20722 | /*
|
20716 | 20723 | sp_BlitzIndex from http://FirstResponderKit.org
|
@@ -25073,8 +25080,8 @@ SET NOCOUNT ON;
|
25073 | 25080 | SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
|
25074 | 25081 |
|
25075 | 25082 | DECLARE @Version NVARCHAR(30);
|
25076 | | - SET @Version = '1.8'; |
25077 | | - SET @VersionDate = '20171001'; |
| 25083 | + SET @Version = '1.9'; |
| 25084 | + SET @VersionDate = '20171101'; |
25078 | 25085 |
|
25079 | 25086 | DECLARE /*Variables for the variable Gods*/
|
25080 | 25087 | @msg NVARCHAR(MAX) = N'', --Used to format RAISERROR messages in some places
|
@@ -29493,8 +29500,8 @@ BEGIN
|
29493 | 29500 | SET NOCOUNT ON;
|
29494 | 29501 | SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
|
29495 | 29502 | DECLARE @Version VARCHAR(30);
|
29496 | | - SET @Version = '5.8'; |
29497 | | - SET @VersionDate = '20171001'; |
| 29503 | + SET @Version = '5.9'; |
| 29504 | + SET @VersionDate = '20171101'; |
29498 | 29505 |
|
29499 | 29506 |
|
29500 | 29507 | IF @Help = 1
|
@@ -30040,8 +30047,8 @@ SET NOCOUNT ON;
|
30040 | 30047 |
|
30041 | 30048 | /*Versioning details*/
|
30042 | 30049 | DECLARE @Version NVARCHAR(30);
|
30043 | | - SET @Version = '5.8'; |
30044 | | - SET @VersionDate = '20171001'; |
| 30050 | + SET @Version = '5.9'; |
| 30051 | + SET @VersionDate = '20171101'; |
30045 | 30052 |
|
30046 | 30053 |
|
30047 | 30054 | IF @Help = 1
|
@@ -30979,8 +30986,8 @@ AS
|
30979 | 30986 | BEGIN
|
30980 | 30987 | SET NOCOUNT ON;
|
30981 | 30988 | DECLARE @Version VARCHAR(30);
|
30982 | | - SET @Version = '1.8'; |
30983 | | - SET @VersionDate = '20171001'; |
| 30989 | + SET @Version = '1.9'; |
| 30990 | + SET @VersionDate = '20171101'; |
30984 | 30991 |
|
30985 | 30992 |
|
30986 | 30993 | DECLARE @sql NVARCHAR(MAX) ,
|
|
0 commit comments