ReadMe

RestoreChecker

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

 

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

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 and a single database 

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            √  

Obtain a license

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

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)

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.

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

Installation

Run the RestoreChecker.msi file to install the program

 

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