Я не знаю SQL Server 2005, но для общего использования SQL я бы всегда предпочел репликацию. Вы должны разделить чтение / запись в вашем приложении (для MySQL есть MySQL Proxy, который может сделать это для вас по доверенности), но получить масштабируемую систему.
(читает рабу (-ам), пишет мастеру)
Зеркальное отображение означает репликацию мастер-мастер, что приводит к проблемам параллелизма / транзакций. Даже в сценариях мастер-мастер вы должны НИКОГДА отправлять запросы на запись на разные серверы.
В зависимости от размера вашего проекта на следующих этапах будет добавлено больше ведомых устройств, а затем добавлен еще один ведущий + его ведомые для резервирования.
master --- master
| |
slave slave
| |
slave slave
| |
slave slave
Даже тогда вы будете отправлять запросы на запись только одному мастеру, но в случае сбоя мастера вы можете автоматически назначить второго мастера для своей новой цели записи-запроса.