Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

In a deployment I'm considering, we have a production sQL server that needs to be highly available. It will be set up on a Server 2008R2 Cluster. Hyper-V will be set up already. I'm worried that running SQL in a VM wont provide enough of a High availability solution vs. SQL clustering on the root partitions. SQL performance running in a VM isnt an issue, I'm just worried in the case of a hard failover, the VM will reboot, causing a larger downtime than the failover period for a normal SQL cluster.

There are several aspects I'm interested in. Will the VM downtime be any different than the downtime of an SQL cluster? How long is the average failover in an SQL cluster? Is there some hidden advantage of an SQL cluster, such as a shared queue that transactions get sent to, so if one node is down the transactions will apply to the database once it comes back online? Or does it not make a difference?

Right now, Hyper-V looks pretty good, because planned failovers can be run without interrupting any client access.

share|improve this question
add comment

1 Answer 1

up vote 2 down vote accepted

SQL Server failover involves running a primary server that owns the database with a backup server that is ready to own the database. At the moment of failover, the backup server takes ownership of the storage, replays the logs and then brings the database on line. That's followed by a period where the hot parts of the database are brought into memory as needed. The biggest bound on the failover time is the replaying of the logs, as that needs to happen before the database can begin responding to queries.

If you cluster the VM rather than the SQL server, you add the VM reboot time along with any filesystem checks. These tend not to dominate the total recovery time.

share|improve this answer
    
So the safety of the transactions is the same whether its physical or virtual? That is my biggest concern. –  Steve Butler Jan 31 '10 at 6:39
    
Yes, as long as you're asking about MS SQL Server. Other server apps might have different behaviors. –  Jake Oshins Feb 1 '10 at 1:01
    
yeah, its MSSQL 2008. Thanks! –  Steve Butler Feb 1 '10 at 17:09
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.