Tôi đã gặp phải một vấn đề khi ứng dụng web .Net của tôi chạy chậm, ngay cả khi tôi đã tối ưu hóa tất cả các truy vấn. Khi nó bật ra một nhà phát triển khác, người đang thực hiện các báo cáo chạy một loạt các truy vấn không được tối ưu hóa mọi lúc. Vì vậy, tôi đã quyết định tạo một máy chủ riêng cho anh ấy. Hiện tại tôi đã tạo Jobs để sao lưu, sao chép nó sang một máy chủ khác và khôi phục nó. Nhưng đó là giải pháp tạm thời, vì vậy để máy chủ thứ hai có dữ liệu cập nhật hoặc ít nhất là với độ trễ tối thiểu, tôi đang nghiên cứu một cơ hội để tạo bản sao chỉ đọc.
Vì tôi không phải là một DBA Tôi đã đọc một loạt hoặc các bài viết liên quan đến cơ chế sao chép của SQL Server. Tùy chọn tốt nhất cho tôi là khi ứng dụng web SẢN PHẨM của tôi không bị ảnh hưởng bởi sự sao chép, ý tôi là rất nhiều khóa trên các bảng đồng bộ hóa. Tôi không cần đồng bộ hóa thời gian thực như phản chiếu, tôi cũng không cần bất kỳ giải pháp cụm nào, chỉ đọc bản sao đồng bộ hóa cơ sở dữ liệu SẢN PHẨM của tôi. Vì vậy, tôi đã chọn Transactional
cơ chế sao chép (không thể cập nhật) với chính sách phân phối không đồng bộ (theo lịch trình).
Vì vậy, tôi có một số câu hỏi:
Bản sao giao dịch có phù hợp với vấn đề của tôi nhất trong số các cơ chế sao chép của SQL Server không?
Nếu tôi có cơ hội di chuyển từ SQL Server 2008 sang SQL Server 2012, liệu sao chép giao dịch có một số thay đổi đột phá không? Tôi đã đọc một bài viết về Technet rằng có thể xảy ra lỗi?
Không phải
Always On
cơ chế SQL Server 2012 tốt hơn để giải quyết vấn đề của tôi (Tôi đang xem xét tùy chọn này là lựa chọn cuối cùng, vì tôi vẫn đang sử dụng 2008 R2, và việc di chuyển sang năm 2012 sẽ được lên kế hoạch sớm)?