Eu não conheço o SQL Server 2005, mas para uso geral do SQL eu sempre prefiro replicação. Você tem que separar leituras/gravações em seu aplicativo (para MySQL existe o MySQL Proxy que pode fazer isso de maneira proxy para você), mas ganhe um sistema escalável. (lê para escravo(s), grava para mestre)
Espelhamento significa replicação mestre-mestre que leva a problemas de simultaneidade/transação. Mesmo em cenários mestre-mestre você deve NUNCA enviar consultas de gravação para diferentes servidores. Dependendo do tamanho do seu projeto, as próximas etapas seriam adicionar mais escravos e, em seguida, adicionar outro mestre + seus escravos para redundância.
master --- master
| |
slave slave
| |
slave slave
| |
slave slave
Mesmo assim, você enviaria consultas de gravação apenas para um mestre, mas no caso de um mestre com falha, você poderia promover automaticamente o segundo mestre para seu novo destino de consulta de gravação.