• Clustering's good when you need redundancy for the entire server, not just a single databases.

    Mirroring happens at the database level, so if the app depends on resources outside of the DB, you have to ensure that the resources are available on both machines. If there are 2 DBs that are both needed and cross DB queries run, then you have to ensure that they're both mirrored and that they both fail over at the same time

    If you have other services than SQL (SSAS for eg), mirroring won't help there, but if they're cluster aware, they can fail over with the cluster nodes.

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass