Quantcast
Channel: Welcome To TechBrothersIT
Viewing all articles
Browse latest Browse all 2005

Restore Multiple Transaction Log backup Files

$
0
0
/*--------------------------------------------------
Restore Multiple transaction log backup files
----------------------------------------------------*/
DECLARE @DBName VARCHAR(500)
DECLARE @LogFilePath VARCHAR(500)

SET @DBName='TestDB'

DECLARE LogR_cursor CURSOR FOR
  --Prepare your list of Log File those needs to be restored. Uncomment the columns while prepare your List of Log files.
  SELECT
  --BS.database_name,
  BMF.physical_device_name
  --,BS.backup_start_date
  -- ,BS.backup_finish_date
  FROM   msdb.dbo.backupset BS
         INNER JOIN msdb.dbo.backupmediafamily BMF
                 ON BS.media_set_id = BMF.media_set_id
  WHERE  BS.database_name = @DBName
         AND BS.Type = 'L'
  --AND BS.backup_start_date>=''   Provide the StartDate and EndDate To Refine your Selection for Log Files
  --AND BS.backup_finish_date<=''    those you want to restore.
  ORDER  BY backup_start_date,
            backup_finish_date

OPEN LogR_cursor

FETCH NEXT FROM LogR_cursor INTO @LogFilePath

WHILE @@FETCH_STATUS = 0
  BEGIN
      DECLARE @SQL NVARCHAR(2000)

      SET @SQL='Restore Log ' + @DBName + ' from Disk='''
               + @LogFilePath + ''' With NORECOVERY'

      PRINT @SQL
      EXEC(@SQL)

      FETCH NEXT FROM LogR_cursor INTO @LogFilePath
  END

--SET DATABASE Mode to Recovery
DECLARE @SQL_SET_RECOVERY NVARCHAR(2000)

SET @SQL_SET_RECOVERY='Restore Database ' + @DBName
                      + ' WITH RECOVERY'

PRINT @SQL_SET_RECOVERY
EXEC(@SQL_SET_RECOVERY)

CLOSE LogR_cursor

DEALLOCATE LogR_cursor

Viewing all articles
Browse latest Browse all 2005

Trending Articles