Skip to content

Commit b35c83c

Browse files
committed
Merge branch 'dev'
2 parents 8778f77 + 9a5d03b commit b35c83c

17 files changed

+222
-137
lines changed

Install-All-Scripts.sql

Lines changed: 63 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ SET NOCOUNT ON;
3030
BEGIN;
3131

3232

33-
SET @Version = '3.3';
34-
SET @VersionDate = '20190219';
33+
SET @Version = '3.4';
34+
SET @VersionDate = '20190320';
3535

3636
IF(@VersionCheckMode = 1)
3737
BEGIN
@@ -1525,6 +1525,8 @@ BEGIN;
15251525

15261526
SET @Version = '3.3';
15271527
SET @VersionDate = '20190219';
1528+
SET @Version = '3.4';
1529+
SET @VersionDate = '20190320';
15281530

15291531
IF(@VersionCheckMode = 1)
15301532
BEGIN
@@ -2848,6 +2850,8 @@ AS
28482850

28492851
SET @Version = '7.3';
28502852
SET @VersionDate = '20190219';
2853+
SET @Version = '7.4';
2854+
SET @VersionDate = '20190320';
28512855
SET @OutputType = UPPER(@OutputType);
28522856

28532857
IF(@VersionCheckMode = 1)
@@ -3816,6 +3820,7 @@ AS
38163820
/* Filter out databases that were recently restored: */
38173821
LEFT OUTER JOIN msdb.dbo.restorehistory rh ON bs.database_name = rh.destination_database_name AND rh.restore_date > DATEADD(dd, -14, GETDATE())
38183822
WHERE UPPER(LEFT(bmf.physical_device_name, 3)) <> 'HTT' AND
3823+
@IsWindowsOperatingSystem = 1 AND -- GitHub Issue #1995
38193824
UPPER(LEFT(bmf.physical_device_name COLLATE SQL_Latin1_General_CP1_CI_AS, 3)) IN (
38203825
SELECT DISTINCT
38213826
UPPER(LEFT(mf.physical_name COLLATE SQL_Latin1_General_CP1_CI_AS, 3))
@@ -11160,8 +11165,8 @@ AS
1116011165
SET NOCOUNT ON;
1116111166
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
1116211167

11163-
SET @Version = '3.3';
11164-
SET @VersionDate = '20190219';
11168+
SET @Version = '3.4';
11169+
SET @VersionDate = '20190320';
1116511170

1116611171
IF(@VersionCheckMode = 1)
1116711172
BEGIN
@@ -12916,6 +12921,7 @@ ALTER PROCEDURE dbo.sp_BlitzCache
1291612921
@QueryFilter VARCHAR(10) = 'ALL' ,
1291712922
@DatabaseName NVARCHAR(128) = NULL ,
1291812923
@StoredProcName NVARCHAR(128) = NULL,
12924+
@SlowlySearchPlansFor NVARCHAR(4000) = NULL,
1291912925
@Reanalyze BIT = 0 ,
1292012926
@SkipAnalysis BIT = 0 ,
1292112927
@BringThePain BIT = 0, /* This will forcibly set @Top to 2,147,483,647 */
@@ -12934,6 +12940,8 @@ SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
1293412940

1293512941
SET @Version = '7.3';
1293612942
SET @VersionDate = '20190219';
12943+
SET @Version = '7.4';
12944+
SET @VersionDate = '20190320';
1293712945

1293812946

1293912947
IF(@VersionCheckMode = 1)
@@ -13084,6 +13092,11 @@ BEGIN
1308413092
N'NVARCHAR(128)',
1308513093
N'Name of stored procedure you want to find plans for.'
1308613094

13095+
UNION ALL
13096+
SELECT N'@SlowlySearchPlansFor',
13097+
N'NVARCHAR(4000)',
13098+
N'String to search for in plan text. % wildcards allowed.'
13099+
1308713100
UNION ALL
1308813101
SELECT N'@BringThePain',
1308913102
N'BIT',
@@ -14500,6 +14513,13 @@ IF @MinutesBack IS NOT NULL
1450014513
SET @body += N' AND x.last_execution_time >= DATEADD(MINUTE, @min_back, GETDATE()) ' + @nl ;
1450114514
END;
1450214515

14516+
IF @SlowlySearchPlansFor IS NOT NULL
14517+
BEGIN
14518+
RAISERROR(N'Setting string search for @SlowlySearchPlansFor, so remember, this is gonna be slow', 0, 1) WITH NOWAIT;
14519+
SET @SlowlySearchPlansFor = REPLACE((REPLACE((REPLACE((REPLACE((@SlowlySearchPlansFor), N'[', N'_')), N']', N'_')), N'^', N'_')), N'''', N'''''');
14520+
SET @body_where += N' AND CAST(qp.query_plan AS NVARCHAR(MAX)) LIKE ''%' + @SlowlySearchPlansFor + '%'' ' + @nl;
14521+
END
14522+
1450314523

1450414524
/* Apply the sort order here to only grab relevant plans.
1450514525
This should make it faster to process since we'll be pulling back fewer
@@ -14551,6 +14571,7 @@ SET @body += N') AS qs
1455114571

1455214572
SET @body_where += N' AND pa.attribute = ' + QUOTENAME('dbid', @q ) + @nl ;
1455314573

14574+
1455414575
IF @NoobSaibot = 1
1455514576
BEGIN
1455614577
SET @body_where += N' AND qp.query_plan.exist(''declare namespace p="http://schemas.microsoft.com/sqlserver/2004/07/showplan";//p:StmtSimple//p:MissingIndex'') = 1' + @nl ;
@@ -14853,7 +14874,6 @@ BEGIN
1485314874
SET @sql += @body_order + @nl + @nl + @nl ;
1485414875
END;
1485514876

14856-
1485714877
/*******************************************************************************
1485814878
*
1485914879
* Because the trigger execution count in SQL Server 2008R2 and earlier is not
@@ -19270,8 +19290,8 @@ BEGIN
1927019290
SET NOCOUNT ON;
1927119291
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
1927219292

19273-
SET @Version = '7.3';
19274-
SET @VersionDate = '20190219';
19293+
SET @Version = '7.4';
19294+
SET @VersionDate = '20190320';
1927519295

1927619296
IF(@VersionCheckMode = 1)
1927719297
BEGIN
@@ -21996,7 +22016,7 @@ BEGIN
2199622016

2199722017
/* Next, Compilations/Sec High - CheckID 15 and 16 */
2199822018
IF @BlitzCacheSortOrder IS NULL AND EXISTS (SELECT * FROM #BlitzFirstResults WHERE CheckID IN (15,16))
21999-
SET @BlitzCacheSortOrder = 'compilations';
22019+
SET @BlitzCacheSortOrder = 'recent compilations';
2200022020

2200122021
/* Still not set? Use the top wait type. */
2200222022
IF @BlitzCacheSortOrder IS NULL AND EXISTS (SELECT * FROM #BlitzFirstResults WHERE CheckID = 6)
@@ -23236,7 +23256,7 @@ EXEC dbo.sp_BlitzFirst @ExpertMode = 1;
2323623256

2323723257
Saving output to tables:
2323823258
EXEC sp_BlitzFirst
23239-
, @OutputDatabaseName = 'DBAtools'
23259+
@OutputDatabaseName = 'DBAtools'
2324023260
, @OutputSchemaName = 'dbo'
2324123261
, @OutputTableName = 'BlitzFirst'
2324223262
, @OutputTableNameFileStats = 'BlitzFirst_FileStats'
@@ -23287,6 +23307,8 @@ SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
2328723307

2328823308
SET @Version = '7.3';
2328923309
SET @VersionDate = '20190219';
23310+
SET @Version = '7.4';
23311+
SET @VersionDate = '20190320';
2329023312
SET @OutputType = UPPER(@OutputType);
2329123313

2329223314
IF(@VersionCheckMode = 1)
@@ -26669,16 +26691,12 @@ BEGIN;
2666926691
index_estimated_impact, t.index_size_summary, create_tsql, more_info
2667026692
FROM
2667126693
(
26672-
SELECT ROW_NUMBER() OVER (ORDER BY mi.is_low, magic_benefit_number DESC) AS rownum,
26694+
SELECT ROW_NUMBER() OVER (ORDER BY magic_benefit_number DESC) AS rownum,
2667326695
50 AS check_id,
2667426696
sz.index_sanity_id,
2667526697
10 AS Priority,
2667626698
N'Indexaphobia' AS findings_group,
26677-
N'High value missing index' + CASE mi.is_low
26678-
WHEN 0 THEN N' with High Impact'
26679-
WHEN 1 THEN N' with Low Impact'
26680-
END
26681-
AS finding,
26699+
N'High value missing index' AS finding,
2668226700
[database_name] AS [Database Name],
2668326701
N'http://BrentOzar.com/go/Indexaphobia' AS URL,
2668426702
mi.[statement] +
@@ -27883,8 +27901,6 @@ BEGIN;
2788327901
[create_date],
2788427902
[modify_date],
2788527903
[more_info],
27886-
[Drop_Tsql],
27887-
[Create_Tsql],
2788827904
[display_order]
2788927905
)
2789027906
SELECT ''@@@RunID@@@'',
@@ -27896,6 +27912,18 @@ BEGIN;
2789627912
i.[schema_name] AS [Schema Name],
2789727913
i.[object_name] AS [Object Name],
2789827914
ISNULL(i.index_name, '''') AS [Index Name],
27915+
CASE
27916+
WHEN i.is_primary_key = 1 AND i.index_definition <> ''[HEAP]''
27917+
THEN N''-ALTER TABLE '' + QUOTENAME(i.[schema_name]) + N''.'' + QUOTENAME(i.[object_name]) +
27918+
N'' DROP CONSTRAINT '' + QUOTENAME(i.index_name) + N'';''
27919+
WHEN i.is_primary_key = 0 AND i.index_definition <> ''[HEAP]''
27920+
THEN N''--DROP INDEX ''+ QUOTENAME(i.index_name) + N'' ON '' +
27921+
QUOTENAME(i.[schema_name]) + N''.'' + QUOTENAME(i.[object_name]) + N'';''
27922+
ELSE N''''
27923+
END AS [Drop TSQL],
27924+
CASE
27925+
WHEN i.index_definition = ''[HEAP]'' THEN N''''
27926+
ELSE N''--'' + ict.create_tsql END AS [Create TSQL],
2789927927
CAST(i.index_id AS NVARCHAR(10))AS [Index ID],
2790027928
db_schema_object_indexid AS [Details: schema.table.index(indexid)],
2790127929
CASE WHEN index_id IN ( 1, 0 ) THEN ''TABLE''
@@ -27958,18 +27986,6 @@ BEGIN;
2795827986
i.create_date AS [Create Date],
2795927987
i.modify_date AS [Modify Date],
2796027988
more_info AS [More Info],
27961-
CASE
27962-
WHEN i.is_primary_key = 1 AND i.index_definition <> ''[HEAP]''
27963-
THEN N''-ALTER TABLE '' + QUOTENAME(i.[schema_name]) + N''.'' + QUOTENAME(i.[object_name]) +
27964-
N'' DROP CONSTRAINT '' + QUOTENAME(i.index_name) + N'';''
27965-
WHEN i.is_primary_key = 0 AND i.index_definition <> ''[HEAP]''
27966-
THEN N''--DROP INDEX ''+ QUOTENAME(i.index_name) + N'' ON '' +
27967-
QUOTENAME(i.[schema_name]) + N''.'' + QUOTENAME(i.[object_name]) + N'';''
27968-
ELSE N''''
27969-
END AS [Drop TSQL],
27970-
CASE
27971-
WHEN i.index_definition = ''[HEAP]'' THEN N''''
27972-
ELSE N''--'' + ict.create_tsql END AS [Create TSQL],
2797327989
1 AS [Display Order]
2797427990
FROM #IndexSanity AS i
2797527991
LEFT JOIN #IndexSanitySize AS sz ON i.index_sanity_id = sz.index_sanity_id
@@ -28199,6 +28215,8 @@ SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
2819928215

2820028216
SET @Version = '2.3';
2820128217
SET @VersionDate = '20190219';
28218+
SET @Version = '2.4';
28219+
SET @VersionDate = '20190320';
2820228220

2820328221

2820428222
IF(@VersionCheckMode = 1)
@@ -29460,8 +29478,8 @@ BEGIN /*First BEGIN*/
2946029478
SET NOCOUNT ON;
2946129479
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
2946229480

29463-
SET @Version = '3.3';
29464-
SET @VersionDate = '20190219';
29481+
SET @Version = '3.4';
29482+
SET @VersionDate = '20190320';
2946529483
IF(@VersionCheckMode = 1)
2946629484
BEGIN
2946729485
RETURN;
@@ -35186,8 +35204,8 @@ BEGIN
3518635204
SET NOCOUNT ON;
3518735205
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
3518835206

35189-
SET @Version = '7.3';
35190-
SET @VersionDate = '20190219';
35207+
SET @Version = '7.4';
35208+
SET @VersionDate = '20190320';
3519135209

3519235210
IF(@VersionCheckMode = 1)
3519335211
BEGIN
@@ -36073,8 +36091,8 @@ SET NOCOUNT ON;
3607336091

3607436092
/*Versioning details*/
3607536093

36076-
SET @Version = '7.3';
36077-
SET @VersionDate = '20190219';
36094+
SET @Version = '7.4';
36095+
SET @VersionDate = '20190320';
3607836096

3607936097
IF(@VersionCheckMode = 1)
3608036098
BEGIN
@@ -36865,6 +36883,11 @@ BEGIN
3686536883
FROM #Headers
3686636884
WHERE BackupType = 5;
3686736885
END;
36886+
36887+
IF @DiffLastLSN IS NULL
36888+
BEGIN
36889+
SET @DiffLastLSN=@FullLastLSN
36890+
END
3686836891
END
3686936892

3687036893

@@ -37001,7 +37024,7 @@ IF (@StopAt IS NOT NULL AND @OnlyLogsAfter IS NULL)
3700137024
FROM @FileList
3700237025
WHERE BackupFile LIKE N'%.trn'
3700337026
AND BackupFile LIKE N'%' + @Database + N'%'
37004-
AND (@ContinueLogs = 1 OR (@ContinueLogs = 0 AND REPLACE(LEFT(RIGHT(BackupFile, 19), 15),'_','') >= @BackupDateTime) AND REPLACE(LEFT(RIGHT(BackupFile, 19), 15),'_','') <= @StopAt)
37027+
AND ((@ContinueLogs = 1 AND REPLACE(LEFT(RIGHT(BackupFile, 19), 15),'_','') <= @StopAt) OR (@ContinueLogs = 0 AND REPLACE(LEFT(RIGHT(BackupFile, 19), 15),'_','') >= @BackupDateTime) AND REPLACE(LEFT(RIGHT(BackupFile, 19), 15),'_','') <= @StopAt)
3700537028
ORDER BY BackupFile;
3700637029

3700737030
OPEN BackupFiles;
@@ -37189,8 +37212,8 @@ ALTER PROCEDURE dbo.sp_foreachdb
3718937212
AS
3719037213
BEGIN
3719137214
SET NOCOUNT ON;
37192-
SET @Version = '3.3';
37193-
SET @VersionDate = '20190219';
37215+
SET @Version = '3.4';
37216+
SET @VersionDate = '20190320';
3719437217

3719537218
IF(@VersionCheckMode = 1)
3719637219
BEGIN
@@ -37475,8 +37498,8 @@ AS
3747537498
BEGIN
3747637499
SET NOCOUNT ON;
3747737500

37478-
SET @Version = '2.3';
37479-
SET @VersionDate = '20190219';
37501+
SET @Version = '2.4';
37502+
SET @VersionDate = '20190320';
3748037503

3748137504
IF(@VersionCheckMode = 1)
3748237505
BEGIN

0 commit comments

Comments
 (0)