RestoreChecker

RestoreChecker is a utility that restores SQL Server backup files in order to verify that the backup files can be successfully restored and in addition perform data integrity checks on the backups restored while offloading the intensive IO activity from your production servers.

General

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.

Supported SQL Server versions: 2005, 2008, 2008R2, 2012, 2014, 2016, 2017, 2019

Features

  • Dynamically find and restore the most recent full database backup
  • Dynamically find and restore the first transaction log file
  • Handle unlimited number of servers and databases
  • Perform data integrity checks while offloading the intensive IO activity from your production servers
  • Agentless, nothing installed on the production servers
  • Restore using checksums
  • Drop the restored database when completed all operations in order to free up the disk space for the next database
  • 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 or local)
  • 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

Editions

Stand Alone edition – A fully featured edition that is limited to 1 server

Standard edition – A fully featured edition that is limited to 4 servers

Enterprise edition – A fully featured edition that is capable of handling an unlimited number of servers

Swipe to the left or right to view more details

Features Standalone Standard Enterprise
$99
$199
$299

Number of servers that can be processed

1
4
Unlimited

Verify a backup file can be successfully restored

Perform data integrity checks

Perform structure integrity checks

Perform data allocation 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 has already been processed and skip that file

Obtain a license

To obtain a license file follow these steps:

  1. Purchase a license by clicking the PayPal button
  2. Email the ComputerName.tek file (located at your working folder) to support@sqlserverutilities.com
  3. Receive a reply mail containing the license file
  4. Locate the received license file at your working folder

Your license includes support and updates with no additional fee.

Installation

Open the rar file and run the RestoreChecker.msi file to install the program

Prerequisites

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 support@sqlserverutilities.com

Terminology

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.

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.)

Configuration

  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 database 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

Usage

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

Log File

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.

Comments

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 support@sqlserverutilities.com with RestoreChecker at the subject of the mail and we will consider implementing it in an upcoming release.

Support

When applying for support please send a description of the problem encountered to support@sqlserverutilities.com with RestoreChecker in the subject of the mail and attach the following files:
RestoreChecker.exe.config
RestoreChecker.log

The following two tabs change content below.
Yaniv Etrogi is an SQL Server consultant. He loves SQL Server and he is passionate about Performance Tuning, Automation and Monitoring.