we create a backup maintenance plan with one Full backup and transaction log
backups for every 15 minutes, it is sometimes necessary to restore the FULL
backup and all the corresponding transactional backups sequentially. This may
happen if the production box goes down or if you want to have the same database
restored to another Server, etc. It is tiresome to locate all the transaction
log backups and restore them one by one.
In this article, I would like to guide SQL Server DBAs to
use a procedure, which can:
1. Generate the
script for restoring a full backup and all corresponding transaction log
2. Restore a full
backup and all corresponding transaction log backups along with generated
3. Restore the
latest full backup and all corresponding transaction log backups as a different
procedure uses xp_cmdshell and the MS-DOS ‘DIR’ command to find the backup and
transactions log sequence based on the file date.
us simulate the whole backup and restore process.
a database, "Inventory," in FULL recovery mode. (You can use the
CREATE DATABASE [inventory]
ON (NAME = N’inventory’,
FILENAME = N’D:\Program Files\Microsoft SQL Server\MSSQL\data\inventory.mdf’ ,
SIZE = 1, FILEGROWTH = 10%)
LOG ON (NAME = N’inventory_log’,
FILENAME = N’D:\Program Files\Microsoft SQL Server\MSSQL\data\Inventory_log.LDF’ ,
FILEGROWTH = 10%)
Alter DATABASE [inventory] set recovery FULL
a maintenance plan with one full backup, (as shown in figure Fig 1.0), and
transaction log backup for every 5 minutes, (as shown in figure Fig 2.0).
When this maintenance plan
runs, it creates .BAK and .TRN files as shown in the figure Fig 3.0.