662
Part V: Enterprise Data Management
A complete plan for high availability also includes a plan to handle true disasters. If the
entire data center is suddenly gone, is there another off-site disaster recovery site prepared
to come online?
Best Practice
Before implementing an advanced availability solution, ensure that the primary server is well thought
out and provides suffi cient redundancy. The most common issue won’t be the data center melting but
a hard drive failure or a bad NIC card.
Log shipping is perhaps the most common method to provide high availability. The basic
idea is that the transaction log, with its record of the most recent transactions, is regularly
backed up and then sent, or shipped, to another server where the log backup is applied
so that the server has a fresh copy of all the data from the primary server. Log Shipping
doesn’t require any special hardware or magic. It’s relatively easy to set up and administer.
There are three obstacles to overcome before log shipping will work smoothly. First, the poli-
cies and procedures must be established, implemented, and then regularly tested. The second
one is a bit trickier: The client applications need a way to detect that the primary server is
down and then switch over to the standby server. The third obstacle is a procedure to switch
back to the primary server after it’s repaired and ready to step back into the spotlight.
Upgrading Log Shipping to AlwaysOn Availability
Groups
Prior to SQL Server 2012, if you wanted the option to have a warm standby copy of a database that
you could query from, you were mainly limited to setting up log shipping. With the introduction of
AlwaysOn Availability Groups you have another fantastic high-availability solution option. With AlwaysOn
Availability Groups you can not only have up-to-date, queryable copies of your database, but you can
also take advantage of other features such as multiple failover options (automatic, planned manual,
and forced manual), multiple database grouping, alternative availability modes (asynchronous-commit,
synchronous-commit), and much more. For more information on AlwaysOn Availability Groups, see
Chapter 27 Database Mirroring.”
Availability Testing
A database that’s unavailable isn’t useful. The availability test is a simulation of the data-
base restore process assuming the worst. The measurement is the time required to restore
the most current production data to a test server and prove that the client applications
work. This measure of time is normally referred to in the business as a recovery time objec-
tive (RTO). As an administrator it’s important to establish with the business what the
c26.indd 662c26.indd 662 7/31/2012 9:49:16 AM7/31/2012 9:49:16 AM
http://www.it-ebooks.info