Examining the True Cost of Database Restores

Thursday, February 5, 2015 by Ben Blomberg

Let’s face it, DBAs are busy… really busy. DBA tasks, such as database server tuning, maintenance, and taking care of customer query or reporting requests, take priority. Usually full database restores are a low priority due to the cost to organization in both time and money.  Let’s look at the real impact of full database restores.

Table Restores

DBAs are requested to restore tables or table data for many reasons including:

  • Dropped/deleted tables (i.e. developer oops)
  • Front-end application upgrades that can change or delete database tables
  • Missing or corrupted row or column data (caused by developer or user error, IT infrastructure such as tiered storage migrations)
  • Incorrect or modified data in the business system resulting in incorrect reports (i.e. incorrect currency)
  • Requests for table data for business purposes such as analytics (marketing, finance, HR, operations, etc.)
  • Development requests tables or table data for development or test purposes. The combination of these requests can add up significantly over time.

Time to Find Resources

Databases are hundreds of gigabytes, if not terabytes in size. The DBA performing a full database to restore a table will need to find an environment with sufficient space to support the restore operation. In many organizations, the DBA will need to work with the storage admin, the ESX admin or Security to provision such an environment.

 Restore Time

Small databases restore very quickly using any number of methods. Most DBAs have a few - even up to hundreds - of very large databases that can take hours to restore. Restoring tables with T-SQL requires scripting to perform compares, create tables, and to copy data from one location to another. This all comes with a cost to SQL server resources.

Labor Rate

DBA salaries range across the country, industries and over the world. Generally, entry levels DBAs are not performing database restores, nor are the most senior DBAs and architects—yet someone on the DBA team has to do it. It can take hours of expert time just to restore just one large database.

Requests Turned Away               

Due to the significant amount of time involved in database restores and the frequency of requests, DBAs are forced to prioritize. In many cases, the DBA is too busy to restore databases to get table data for development and test purposes.  Receiving stale databases or delayed deliveries of restore requests can force team members to pursue non-approved workarounds in order to meet deadlines, or they have to create the table data from scratch. This is an impact to the organization’s resources.

Cost of Downtime

Application downtime is something every DBA tries to avoid. Internal projects in development that rely on MS-SQL can miss delivery deadlines due to data restore events. Costs associated with missed project dates are just as important as downtime to production systems.