From f812b71c41d49c235c796760801539ece56ec37c Mon Sep 17 00:00:00 2001 From: Wilfred van Dijk Date: Mon, 28 Nov 2022 20:09:45 +0100 Subject: [PATCH] Update sp_DatabaseRestore.sql fixed ticket 3156 sp_databaserestore don't see backups which consists of more than 10 backupfiles when using @stopAt --- sp_DatabaseRestore.sql | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/sp_DatabaseRestore.sql b/sp_DatabaseRestore.sql index b63aac6d3..5dbd9939c 100755 --- a/sp_DatabaseRestore.sql +++ b/sp_DatabaseRestore.sql @@ -636,15 +636,19 @@ BEGIN /*End folder sanity check*/ IF @StopAt IS NOT NULL - BEGIN - DELETE - FROM @FileList - WHERE BackupFile LIKE N'%.bak' - AND - BackupFile LIKE N'%' + @Database + N'%' - AND - (REPLACE( RIGHT( REPLACE( BackupFile, RIGHT( BackupFile, PATINDEX( '%_[0-9][0-9]%', REVERSE( BackupFile ) ) ), '' ), 16 ), '_', '' ) > @StopAt); - END + BEGIN + DELETE + FROM @FileList + WHERE BackupFile LIKE N'%[_][0-9].bak' + AND BackupFile LIKE N'%' + @Database + N'%' + AND (REPLACE( RIGHT( REPLACE( BackupFile, RIGHT( BackupFile, PATINDEX( '%_[0-9][0-9]%', REVERSE( BackupFile ) ) ), '' ), 16 ), '_', '' ) > @StopAt); + + DELETE + FROM @FileList + WHERE BackupFile LIKE N'%[_][0-9][0-9].bak' + AND BackupFile LIKE N'%' + @Database + N'%' + AND (REPLACE( RIGHT( REPLACE( BackupFile, RIGHT( BackupFile, PATINDEX( '%_[0-9][0-9]%', REVERSE( BackupFile ) ) ), '' ), 18 ), '_', '' ) > @StopAt); + END; -- Find latest full backup SELECT @LastFullBackup = MAX(BackupFile)