|
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