One of the techniques that can be used to create the SQL Server High Availability is clustering.  Clustering can be best described as a technology that automaticaly allows one physical server to take over the tasks and responsibilities of another physical server that has failed. Clustering is one of strategic needed to reduce MS SQL Server downtime, so system can serve client anytime.

With clustering technology, we can take advantage of the built-in clustering capabilities to make SQL Server Availability in  the Enterprise Editions of the Windows Server family. To maximize the benefits you’ll gain from clustering, recomended to use Microsoft Windows Server 2003  significantly better than Windows 2000 Advanced Server for clustering purpose. See my sample configuration of MS SQL Server High Availability at this picture below.

A Sample Two Cluster Node

A Sample Two Cluster Node


Clustering is very complex technology not exclude to make MS SQL Server High Availability, so We will focus concept to make clustering with MS SQL Server on Microsoft Windows Server.  As an example in the picture above, we will make clustering with a two-cluster node, one of the SQL Servers is referred to as the primary node, and the second one is referred to as the secondary node. In an Active/Passive cluster design, SQL Server will run on the primary node, and should the primary node fail, then the secondary node will take over.

When you build a two-node cluster using Microsoft Windows Server and Microsoft Clustering Service, each node must be connected to a shared disk array using either SCSI cables or fibre channel.

Typically, this shared disk array is a stand-alone unit that houses a RAID 5 or RAID 10 disk array. All of the shared data in the cluster must be stored on this disk array, otherwise when a failover occurs, the secondary node in the cluster cannot access it. As I have already mentioned earlier, clustering does not help protect data or the shared disk array that it is stored on. Because of this, it is very important that you select a shared disk array that is very reliable and includes fault tolerance.

Besides both servers being connected to a shared disk array, both nodes of the cluster are also connected to each other via a private network. This private network is used for each node to keep track of the status of the other node. For example, if the primary node experiences a hardware failure, the secondary node will detect this and will automatically initiate a failover.

Proper disk configuration ensures that your SQL Server implementations are highly available and deliver the performance that you need from your disk subsystem. Planning can prevent future problems due to growth, performance, or disk availability. It is sometimes better to buy enough disk storage space—that is, the physical enclosure space—up front than it is to buy all of your disks at once. If your disk solution supports dynamic or easier growth, you can maximize your hardware investment, as you have planned for all of your growth but can expand when you need it. Using multiple controllers to support different types of reads and writes might be optimal, but it is expensive.


references :

  1. MS SQL Server Document.
  2. MS SQL Server High Availability.
  3. Top Tips for SQL Server Clustering.
  4. Others document.
Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Netvouz
  • DZone
  • ThisNext
  • MisterWong
  • Wists
  • Slashdot
  • Technorati
  • YahooMyWeb