Database mirroring is another weapon in the arsenal of SQL Server high-availability solutions. SQL Server 2008 provides at least four high-availability solutions. Of course, each solution has some overlaps with the others, and each has some advantages and disadvantages:
Failover clustering: This is a typical solution for high availability with a two-node Windows failover cluster with one SQL Server instance. Clustering is discussed in more detail in Chapter 20.
Database mirroring: For this discussion, we consider the high-safety mode with a witness.
Log shipping: SQL Server 2008 has built-in log shipping. Log shipping is discussed in detail in Chapter 19.
Transactional replication: For comparison purposes, we'll consider a separate distribution server with a single subscriber server as a standby if the publisher fails.
Let's compare database mirroring with these other technologies.
Obviously, the most distinct difference between database mirroring and a Window failover cluster solution is the level at which each provides redundancy. Database mirroring provides protection at the database level, as you have seen, whereas a cluster solution provides protection at the SQL Server instance level.
As discussed in the section "Mirroring Multiple Databases," if your application requires multiple database dependencies, clustering is probably a better solution. If you need to provide availability ...