Skip to content

Commit d7bf0cd

Browse files
committed
Less complicated
If the table doesn't exist, we're just going to create it based on the definition of backupset for 2016 (which hasn't changed for 2017 (yet anyway)).
1 parent fd2c1bd commit d7bf0cd

File tree

1 file changed

+13
-41
lines changed

1 file changed

+13
-41
lines changed

sp_BlitzBackups.sql

Lines changed: 13 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1137,14 +1137,6 @@ RAISERROR('Pushing backup history to listener', 0, 1) WITH NOWAIT;
11371137
DECLARE @msg NVARCHAR(4000) = N'';
11381138
DECLARE @RemoteCheck TABLE (c INT NULL);
11391139

1140-
/*
1141-
@AGName NVARCHAR(256) NULL,
1142-
@WriteBackupsToDatabaseName NVARCHAR(256) = 'msdb',
1143-
@WriteBackupsToListenerName NVARCHAR(256),
1144-
@WriteBackupsToDatabaseName NVARCHAR(256),
1145-
@WriteBackupsLastHours INT = 24,
1146-
@WriteBackupsBatchSize INT = 5000,
1147-
*/
11481140

11491141
IF @WriteBackupsToDatabaseName IS NULL
11501142
BEGIN
@@ -1231,10 +1223,19 @@ END
12311223

12321224
SET @StringToExecute = N'SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;' + @crlf;
12331225

1234-
SET @StringToExecute += N'SELECT TOP 1 *
1235-
INTO ' + QUOTENAME(@WriteBackupsToDatabaseName) + N'.dbo.backupset
1236-
FROM ' + N'msdb.dbo.backupset
1237-
WHERE 1 = 2
1226+
SET @StringToExecute += N'CREATE TABLE ' + QUOTENAME(@WriteBackupsToDatabaseName) + N'.dbo.backupset
1227+
( backup_set_id INT IDENTITY(1, 1), backup_set_uuid UNIQUEIDENTIFIER, media_set_id INT, first_family_number TINYINT, first_media_number SMALLINT,
1228+
last_family_number TINYINT, last_media_number SMALLINT, catalog_family_number TINYINT, catalog_media_number SMALLINT, position INT, expiration_date DATETIME,
1229+
software_vendor_id INT, name NVARCHAR(128), description NVARCHAR(255), user_name NVARCHAR(128), software_major_version TINYINT, software_minor_version TINYINT,
1230+
software_build_version SMALLINT, time_zone SMALLINT, mtf_minor_version TINYINT, first_lsn NUMERIC(25, 0), last_lsn NUMERIC(25, 0), checkpoint_lsn NUMERIC(25, 0),
1231+
database_backup_lsn NUMERIC(25, 0), database_creation_date DATETIME, backup_start_date DATETIME, backup_finish_date DATETIME, type CHAR(1), sort_order SMALLINT,
1232+
code_page SMALLINT, compatibility_level TINYINT, database_version INT, backup_size NUMERIC(20, 0), database_name NVARCHAR(128), server_name NVARCHAR(128),
1233+
machine_name NVARCHAR(128), flags INT, unicode_locale INT, unicode_compare_style INT, collation_name NVARCHAR(128), is_password_protected BIT, recovery_model NVARCHAR(60),
1234+
has_bulk_logged_data BIT, is_snapshot BIT, is_readonly BIT, is_single_user BIT, has_backup_checksums BIT, is_damaged BIT, begins_log_chain BIT, has_incomplete_metadata BIT,
1235+
is_force_offline BIT, is_copy_only BIT, first_recovery_fork_guid UNIQUEIDENTIFIER, last_recovery_fork_guid UNIQUEIDENTIFIER, fork_point_lsn NUMERIC(25, 0), database_guid UNIQUEIDENTIFIER,
1236+
family_guid UNIQUEIDENTIFIER, differential_base_lsn NUMERIC(25, 0), differential_base_guid UNIQUEIDENTIFIER, compressed_backup_size NUMERIC(20, 0), key_algorithm NVARCHAR(32),
1237+
encryptor_thumbprint VARBINARY(20) , encryptor_type NVARCHAR(32)
1238+
);
12381239
' + @crlf;
12391240

12401241
SET @InnerStringToExecute = N'EXEC( ''' + @StringToExecute + ''' ) AT ' + QUOTENAME(@WriteBackupsToListenerName) + N';'
@@ -1244,35 +1245,6 @@ END
12441245

12451246
EXEC sp_executesql @InnerStringToExecute
12461247

1247-
/*We need to add the encryptor column if it doesn't exist, in case someone wants to push data from a 2014 instance to a 2012 repo.*/
1248-
1249-
1250-
SET @StringToExecute = N'SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;' + @crlf;
1251-
1252-
SET @StringToExecute += '
1253-
1254-
IF NOT EXISTS (
1255-
SELECT 1
1256-
FROM ' + QUOTENAME(@WriteBackupsToDatabaseName) + N'.sys.column AS c
1257-
WHERE OBJECT_NAME(c.object_id) = ?
1258-
AND c.name = ?
1259-
)
1260-
1261-
BEGIN
1262-
1263-
ALTER TABLE ' + QUOTENAME(@WriteBackupsToDatabaseName) + N'.[dbo].[backupset] ADD [encryptor_type] NVARCHAR(32)
1264-
1265-
END
1266-
'
1267-
1268-
SET @InnerStringToExecute = N'EXEC( ''' + @StringToExecute + ''', ''backupset'', ''encryptor_type'' ) AT ' + QUOTENAME(@WriteBackupsToListenerName) + N';'
1269-
1270-
IF @Debug = 1
1271-
PRINT @InnerStringToExecute;
1272-
1273-
EXEC sp_executesql @InnerStringToExecute
1274-
1275-
12761248

12771249
RAISERROR('We''ll even make the indexes!', 0, 1) WITH NOWAIT
12781250

0 commit comments

Comments
 (0)