Microsoft's Clustering Services offers good server-level protection, but it doesn't supply the site-level protection that many enterprises want for SQL Server. The Neverfail Group's Neverfail for SQL Server fills that need by providing automatic failover.
Neverfail for SQL Server runs on Windows Server 2003 Standard and Enterprise Editions, Windows 2000 Server, or Windows 2000 Advanced Server and supports SQL Server 2000 Standard and Enterprise Editions Service Pack 3a (SP3a) and higher. I tested Neverfail between two servers connected by a 100MB LAN connection on the same subnet. Both servers were running Windows 2003 and SQL Server 2000 SP4.
Setup, including preinstallation server configuration and the installation process itself, is long and complex. The primary and secondary servers must run the same OS version at the same service pack level, and the OS must be installed on the same drive on both systems. You install SQL Server on only the primary server and set up the secondary server in a workgroup. Each server requires at least two NICs: one for the public network connection and one for the Neverfail channel connection. However, you don't have to set up any shared storage.
I ran Neverfail's Server Check Optimization Performance Evaluation (SCOPE) product on both systems and sent the results to the vendor, receiving in return the product installation key I needed to install the product. I installed Neverfail on both servers. The installation process essentially applies a backup of the primary server to the secondary server, giving it the same name and IP address as the primary server. The procedure was lengthy and included some manual configuration of the network, but it went smoothly. The documentation could have been clearer in a couple of spots, but overall it did a nice job of stepping me through the process.
As soon as setup was complete, a queued asynchronous replication process began replicating data from the primary to the secondary server. The Neverfail Heartbeat Management Client lets you manage the process. The management client is installed on both servers by default and can also be installed on an administrative workstation. The first time you start the client, you tell it which server pair (or pairs, if you have multiple sets of servers) to monitor. The client lets you set up the parameters for automatic failover and initiate manual failover and failback.
I tested both the manual and automatic failover capabilities. The manual failover took approximately 20 seconds to complete, plus another 10 seconds for the SQL Server service to start up. I tried to initiate a failover by simply ending the SQL Server service, but Neverfail simply restarted the service. Finally, I pulled the plug on the primary server. It took Neverfail about 15 seconds to determine that the primary server was unavailable and another 30 seconds to complete the failover. After restoring the power to the primary server, I was able to fail back manually. Neverfail also provides a Low Bandwidth Module (LBM) designed to reduce the amount of data transmitted between the two servers, although I didn't test that feature.
Neverfail is an excellent high-availability solution for SQL Server. Although it takes some time to set up, the process works well and failovers are reliable and quick. If you're looking for a high-availability solution for SQL Server, Neverfail should definitely be on your short list.
NEVERFAIL FOR SQL SERVER
PROS: Quick failover; excellent control over failover parameters