Ik ken SQL Server 2005 niet, maar voor algemeen SQL-gebruik zou ik altijd de voorkeur geven aan Replicatie. Je moet lezen/schrijven scheiden in je applicatie (voor MySQL is er MySQL Proxy die dit op een proxy-manier voor je kan doen), maar krijg een schaalbaar systeem. (leest naar slave(s), schrijft naar master)
Mirroring betekent master-master-replicatie, wat leidt tot problemen met gelijktijdigheid/transacties. Zelfs in master-masterscenario's moet je NOOIT stuur schrijfquery's naar verschillende servers. Afhankelijk van de grootte van uw project, zijn de volgende stappen het toevoegen van meer slaves en vervolgens het toevoegen van een andere master + zijn slaves voor redundantie.
master --- master
| |
slave slave
| |
slave slave
| |
slave slave
Zelfs dan zou je maar schrijfquery's naar één master sturen, maar in het geval van een falende master zou je automatisch de tweede master kunnen promoveren naar je nieuwe schrijfquery-doel.