SQL Server 2005 neznám, ale pro obecné použití SQL bych vždy preferoval replikaci. Ve své aplikaci musíte oddělit čtení/zápis (pro MySQL existuje MySQL Proxy, která to může udělat proxy způsobem za vás), ale získat škálovatelný systém. (čte na slave(y), zapisuje na master)
Zrcadlení znamená replikaci master-master, která vede k problémům se souběžností/transakcí. Dokonce i ve scénářích master-master byste neměli NIKDY posílat dotazy pro zápis na různé servery. V závislosti na velikosti vašeho projektu by dalším krokem bylo přidání dalších podřízených zařízení a poté přidání dalšího hlavního zařízení + jeho podřízených zařízení pro redundanci.
master --- master
| |
slave slave
| |
slave slave
| |
slave slave
I v takovém případě byste posílali dotazy pro zápis pouze jednomu hlavnímu serveru, ale v případě selhání hlavního serveru byste mohli automaticky povýšit druhého hlavního serveru na svůj nový cíl dotazu na zápis.