Page 1 of 16 MAXIMIZING SQL SERVER AVAILABILITY By Michael Otey Senior Technical Director for Windows IT Pro Magazine and SQL Server Magazine EXECUTIVE SUMMARY Maximizing availability is one of the most important goals of the database administrator. Today most businesses have ever increasing needs for availability and the window of acceptable downtime is rapidly disappearing. Downtime is not just inconvenient for users. It can also be very costly in terms of lost revenue as well as lost customer confidence. In this whitepaper you’ll learn about the different technologies that Microsoft provides for improving SQL Server availability and about their requirements. You’ll also learn about what types of availability scenarios each different technology is best suited for. In addition you’ll learn about how the Stratus Avance and ftServer technologies can be used to maximize SQL Server availability by providing uptime beyond the standard Microsoft availability technologies. THE COSTS OF DOWNTIME Ensuring the availability of the database to support mission critical applications is the database administrator’s top priority. If the database is unavailable, the applications that use that database are rendered unusable. Today’s mission critical applications need greater windows of availability than ever before and many organizations require availability a full 24-hours a day, 7-days a week, 365 days of the year. For most businesses, downtime is much more than just an inconvenience. Certainly when a business’s applications aren’t available there is an immediate loss of end user productivity which can result in a loss of revenue. For organizations running ERP applications and other manufacturing-based applications downtime can result in the inability to accept orders, the interruption of inventory procurement and even the disruption of the manufacturing process. Virtualization and the cloud multiply the cost of downtime. Both the cloud and virtualization platforms like Hyper-V or vSphere don’t typically support a single application. Instead, they host multiple servers and applications. Downtime for those platforms is critical as it results in widespread loss of availability for all of the services that are supported by the cloud or virtualization host. In addition, many organizations, applications are a primary source of revenue and downtime can have a massive impact on the organization’s bottom line. A study by Forrester Research showed that a 1 hour outage for the online broker firm eTrade resulted in a loss of 8 million dollars. Similarly, a 10-hour outage at DELL was estimated to cost 83 million dollars. More recently, an outage at PayPal was estimated to result in a $2,000 per second loss of income for all of PayPal’s customers or about $7.2 million dollars per hour. Downtime cost for the average company is approximately $150,000 per hour, according to Forrester.
16
Embed
MAXIMIZING SQL SERVER AVAILABILITY · improving SQL Server availability and about their requirements. You’ll also learn about what types of availability ... requirements is the
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1 of 16
MAXIMIZING SQL SERVER AVAILABILITY By Michael Otey
Senior Technical Director for Windows IT Pro Magazine and SQL Server Magazine
EXECUTIVE SUMMARY
Maximizing availability is one of the most important goals of the database administrator. Today most businesses
have ever increasing needs for availability and the window of acceptable downtime is rapidly disappearing.
Downtime is not just inconvenient for users. It can also be very costly in terms of lost revenue as well as lost
customer confidence. In this whitepaper you’ll learn about the different technologies that Microsoft provides for
improving SQL Server availability and about their requirements. You’ll also learn about what types of availability
scenarios each different technology is best suited for. In addition you’ll learn about how the Stratus Avance and
ftServer technologies can be used to maximize SQL Server availability by providing uptime beyond the standard
Microsoft availability technologies.
THE COSTS OF DOWNTIME
Ensuring the availability of the database to support mission critical applications is the database administrator’s top
priority. If the database is unavailable, the applications that use that database are rendered unusable. Today’s
mission critical applications need greater windows of availability than ever before and many organizations require
availability a full 24-hours a day, 7-days a week, 365 days of the year.
For most businesses, downtime is much more than just an inconvenience. Certainly when a business’s applications
aren’t available there is an immediate loss of end user productivity which can result in a loss of revenue. For
organizations running ERP applications and other manufacturing-based applications downtime can result in the
inability to accept orders, the interruption of inventory procurement and even the disruption of the manufacturing
process. Virtualization and the cloud multiply the cost of downtime. Both the cloud and virtualization platforms
like Hyper-V or vSphere don’t typically support a single application. Instead, they host multiple servers and
applications. Downtime for those platforms is critical as it results in widespread loss of availability for all of the
services that are supported by the cloud or virtualization host.
In addition, many organizations, applications are a primary source of revenue and downtime can have a massive
impact on the organization’s bottom line. A study by Forrester Research showed that a 1 hour outage for the
online broker firm eTrade resulted in a loss of 8 million dollars. Similarly, a 10-hour outage at DELL was estimated
to cost 83 million dollars. More recently, an outage at PayPal was estimated to result in a $2,000 per second loss
of income for all of PayPal’s customers or about $7.2 million dollars per hour. Downtime cost for the average
company is approximately $150,000 per hour, according to Forrester.
Page 2 of 16
Monetary loss is only one of the costs associated with downtime. Downtime of mission critical and public facing
applications has other significant types of costs associated with them as well. When a company’s applications and
services are unavailable this can also result in loss of customer confidence as well as damage to the company’s
reputation.
BUILDING A HIGHLY AVAILABLE SQL SERVER ENVIRONMENT
Attaining the levels of availability that are required by businesses extend far beyond the simple data protection
provided by traditional backup and restore technologies. Understanding your organization’s real availability
requirements is the first step in choosing and implementing the high availability solution that’s best suited to your
organization. While some organizations require 99.999% availability this isn’t true for all organizations.
Determining the true availability requirements depends on the nature of the business. Once those requirements
are determined you can work toward building an IT infrastructure that can provide the level of availability that’s
needed.
Creating a highly available infrastructure depends on more than just selecting the right technologies. Technology
doesn’t operate in a vacuum. Instead, these technologies are used by people supporting the needs of the business.
There are three primary components that work together to create a highly available operating environment:
People - Continuous availability begins with the organization’s personnel. Hiring the best people to run
and manage your IT infrastructure is important for daily business operations. Having expert staff available
is critical when unforeseen events arise and there’s the need to troubleshoot errors. These essential skills
can serve to avoid potential downtime and to minimize it when it does occur. Properly maintaining these
skills will positively influence system availability. Continued training is vital to enable operations personnel
to keep their skill level current, ensuring that they can perform both routine and emergency procedures
correctly and efficiently.
Processes – For organizations to maintain maximum uptime, they must put into practice efficient
operating procedures. They need to create procedural policies that will ensure that their infrastructure
will perform at its optimum level. One of the most important steps here is to create run books that
document both the organization’s standard operating procedures as well as outlining the procedures to
take when troubleshooting problems and responding to emergency situations. Run books can be
particularly important during periods where the senior or most knowledgeable IT staff may not be
available and junior DBAs need to handle the operations. It’s equally important to periodically test these
procedures to ensure that they remain applicable and accurate for the current infrastructure.
Technology - The role of technology in creating a highly available environment has two primary levels.
Technology solutions for availability are essentially designed to address planned or unplanned downtime.
Planned downtime includes activities like routine maintenance, software updates and hardware upgrades
where the IT staff initiates activity that could possibly result in application downtime. Unplanned
downtime can be site, system, or application failures that are not anticipated. SQL Server provides a
number of different features to address planned and unplanned downtime. In addition, Stratus offers two
different product lines that provide even higher levels of availability. The Stratus Avance and ftServer
products address both planned and unplanned downtime and are typically much easier to implement and
manage than the Microsoft technologies.
Page 3 of 16
SQL SERVER HIGH AVAILABILITY OPTIONS
In the following section you’ll learn about the different high availability technologies that Microsoft provides for
SQL Server. For each of these technologies you’ll see the type of downtime that it is primarily intended to address,
as well as its requirements and limitations.
The primary high availability technologies for SQL Server are: Windows Failover Clustering, Database Mirroring,
and Log Shipping. In addition, there are a number of other SQL Server features that can serve to minimize
downtime and increase availability.
FAILOVER CLUSTERING
Windows Failover Clustering, Microsoft’s primary availability technology, is designed to address server and site
level unplanned downtime. With Windows Failover Clustering each physical server that participates in the cluster
is called a node. If the primary node in a cluster fails another node in the cluster can automatically take over
providing users with the same services as the failed node. This process is called a failover. When the failed node is
repaired, services can be restored to the node. This process is called a failback. Failback can be a manual process or
if there’s one particular node you want the service to run on for normal operations you can specify that node as
the Preferred Owner and the Failback process can be automatic.
Windows Failover Clustering is only provided in the Windows Server Enterprise Edition and higher. Windows
Server 2008 R2 Enterprise edition and higher provide support for up to 16-node clusters. The number of nodes
that are allowed in a cluster is also dependent on the edition of SQL Server in use. SQL Server 2008 R2 Standard
Edition provides support for two-node clusters while SQL Server 2008 R2 Enterprise edition and higher provide
support for up to 16-node clusters. Windows Failover Clusters can be configured in an active-active arrangement
where all of the nodes are performing work and they assume additional workloads in the event of a node failure.
Alternatively, they can be configured in an active-passive arrangement where some of the nodes are performing
active work and other nodes are unused until a failure occurs.
Each node in a Windows Failover Cluster must be running a licensed copy of the Windows Server Enterprise edition
or higher. This is true even if you operate the cluster in an active-passive configuration. For example, the retail
licensing costs for a four-node cluster running Windows Server 2008 R2 Enterprise is $15,996 ($3,999 x 4). This
includes 25 CALs but does not include the licensing cost for the applications you intend to run. If you add the SQL
Server 2008 R2 then you need to add the costs of the SQL Server license. The additional costs depend on whether
you are using an active-active configuration or an active-passive configuration. If you opt to use an active-passive
configuration where only one SQL Server instance is active at one time then you would need one SQL Server
Enterprise edition license. The retail cost for a server license for SQL Server 2008 R2 Enterprise edition is $8,592
which would make the total software cost of a four-node active-passive cluster $24,588. If you opt to use an
active-active cluster configuration then all of the active nodes must have a SQL Server license. For four active
nodes the total cost would be $50,364. You can find more information about Windows Server 2008 R2 licensing
costs at: http://www.microsoft.com/windowsserver2008/en/us/pricing.aspx. More information about SQL Server
licensing costs can be found at: http://www.microsoft.com/sqlserver/en/us/get-sql-server/how-to-buy.aspx.