Tôi không biết SQL Server 2005, nhưng đối với Cách sử dụng SQL nói chung, tôi luôn thích Sao chép hơn. Bạn phải tách biệt các lần đọc / ghi trong ứng dụng của mình (đối với MySQL thì có MySQL Proxy có thể thực hiện việc này theo cách proxy cho bạn), nhưng có được một hệ thống có thể mở rộng. (Đọc cho (các) nô lệ, ghi vào chính)
Mirroring có nghĩa là sao chép master-master dẫn đến các vấn đề đồng thời / giao dịch. Ngay cả trong các tình huống tổng thể, bạn cũng nên KHÔNG BAO GIỜ gửi các truy vấn ghi đến các máy chủ khác nhau. Tùy thuộc vào kích thước dự án của bạn, các bước tiếp theo sẽ là thêm nhiều nô lệ hơn và sau đó thêm một bản gốc khác + các nô lệ của nó để dự phòng.
master --- master
| |
slave slave
| |
slave slave
| |
slave slave
Ngay cả khi đó, bạn sẽ chỉ gửi truy vấn ghi cho một cái, nhưng trong trường hợp một cái không thành công, bạn có thể tự động thăng cấp cái thứ hai cho mục tiêu ghi truy vấn mới của bạn.