The RestoreChecker utility is a .NET console application that is
designed to run automatically using any scheduler such as SQL Server Agent or
the Windows Task Scheduler.
The utility provides 2 major functionalities:
1.
Test that a full backup file or a partial backup file can be successfully
restored
2.
Perform data integrity checks
The utility is designed to be installed on a single server, call it the RestoreServer and provide its services to an
unlimited number of servers. All the operations are carried out on the
RestoreServer machine thus not posing any risk or performance issues to the
production servers.
Dynamically find and restore the most recent full database backup
Dynamically find and restore the first transaction log file
Perform data integrity checks
Restore using checksums
Drop the restored database when completed all operations in
order to free up the disk space
Detect that a backup file was processed in the past in order not
to work on the same file more than one time
Restore from the backup file's original location or from an alternate
location (over the network
Log all operations to a table for latter tracking and easy quering
A configurable log file to easily track any error if occurred
Manage the configuration using a database table in a very convenience way for the DBA
A very simple yet flexible configuration
Freeware edition – A limited (but still great) edition that requires no
license and can be used at no cost for private or commercial usage and is
limited to a single server
Standard edition - A fully featured edition that is limited to 4 servers and requires a license
Enterprise edition - A fully featured edition that is capable of handling an unlimited number of servers and requires a license
| Feature | Freeware | Standard | Enterprise | |
|---|---|---|---|---|
| Number of servers | 1 | 4 | Unlimited | |
| Number of databases | 1 | Unlimited | Unlimited | |
| Verify a backup file can be successfully restored | √ | √ | √ | |
| Perform data integrity checks | √ | √ | √ | |
| Restore with checksums | √ | √ | √ | |
| Construct the RESTORE command based on the source server path | √ | √ | √ | |
| Construct the RESTORE command based on the destination server path | √ | √ | √ | |
| Detect that a given backup file was already processed in the past and skip that file | √ | √ | √ |
If you would like to work with the fully featured Standard Edition or Enterprise Edition then all that is required is to purchase a license and locate the license file at the working folder.
To obtain a license file follow these steps:
1. Go to www.sqlserverutilities.com/SQL-Server-Utilities-RestoreChecker-download.htm
2. Purchase a license by clicking the PayPal button
3. Email the ComputerName.tek file (located at your working folder) to [email protected]
4. Receive a reply mail containing the license file
5. Locate the received license file at your working folder
The working folder is the folder where RestoreChecker is installed. If the default installation path was not modified during the installation then the path would be:
C:\Program Files\RestoreChecker\ (x86 machines)
C:\Program Files (x86)\RestoreChecker\ (x64 machines)
RestoreChecker requires Microsoft .NET Framework 3.5 installed on the RestoreServer machine.
In case you require a version that can be run on an earlier version of the .NET framework please contact us at [email protected]
SourceServer - a server that we test its backup files
RestoreServer - the machine where we restore the backup files we test. The RestoreServer machine has to have an instance of SQL Server up and running.
RestoreServer - the machine where we restore the backup files we test. The RestoreServer machine has to have an instance of SQL Server up and running.
Note that in order for the RESTORE command to support all servers in your
environment it has to be installed with the highest version available within
your environment (i.e. you cannot restore a database that was backup using SQL
Server 2008 to an instance running SQL Server 2005 but you can the other way
round and this is because the command is backward compatible and not forward
compatible)
In addition if you have various editions of SQL Server then it should be
installed with the highest edition (i.e. if you restore a database that was
backed up in SQL Server 2008 Enterprise Edition to an instance of SQL Server
Standard Edition the command will fail because there are various features not
supported such as data compression etc.)
Run the RestoreChecker.msi file to install the program
1. Following the installation edit the RestoreChecker.exe.config file
See the RestoreChecker.htm file provided with the installation for a sample configuration file
2. Run the RestoreChecker.exe file. This will create the two tables that the utility works with in the master database within a new schema called RestoreChecker
The table RestoreCheckerServers - Holds the configuration where every row represents a database to restore.
See the RestoreChecker.htm file provided with the installation for a sample INSERT command to populate the table
The table RestoreCheckerLog - A log table where all the activity is logged
See the RestoreChecker.htm file provided with the installation for a sample query to retreive all operations that succeeded or failed
Run RestoreChecker.exe by any of the following methods:
· Manually
· SQL Server
Agent job by selecting a Job Step of type "Operating system(CmdExec)"
· Use any other scheduler
There are various settings that if required can be modified by editing the log4net.config file
The key “file” represents the log file name and location and defaults to the working folder. You may modify the path if needed.
The key “maxSizeRollBackups” defaults to 5 which represent the maximum number of log files that are available at a given time. The files are managed in a FIFO (First In First Out) algorithm.
The key “maximumFileSize” defaults to 10 which represent a size of 10MB per log file. file.
RestoreChecker terminates with a return value of 0 on success and 1 on failure.
In case you come across a need that RestoreChecker does not cover in the current version please mail your requirement to [email protected] with RestoreChecker at the subject of the mail and we will consider implementing it in an upcoming release.
When applying for support please send a description of the problem encountered to [email protected] with RestoreChecker in the subject of the mail and attach the following files:
RestoreChecker.exe.config
RestoreChecker.log