Cách tôi luôn muốn hình dung các giải pháp khả dụng cao là như sau:
Sơ đồ cụm chuyển đổi dự phòng máy chủ SQL (FCI)
Những gì có sẵn cao? Toàn bộ ví dụ. Điều đó bao gồm tất cả các đối tượng máy chủ (đăng nhập, công việc Đại lý máy chủ SQL, v.v.). Điều này cũng bao gồm cơ sở dữ liệu và các thực thể chứa chúng. Đó là một giải pháp tuyệt vời cho các phiên bản SQL Server khả dụng cao, bởi vì đó sẽ là mức độ ngăn chặn với giải pháp đã cho này.
Báo cáo thì sao? Không, NULL, không tồn tại. Một cá thể cụm chuyển đổi dự phòng có một nút hoạt động cung cấp nhóm cụm chứa cá thể, VNN, v.v. và tất cả các nút khác đều thụ động, không hoạt động (theo như liên quan đến nhóm cụm hiện tại) và chờ chuyển đổi dự phòng.
Điều gì xảy ra khi có failover? Thời gian chết cho một FCI sẽ được xác định bởi lượng thời gian mà nút thụ động mất để lấy tài nguyên cụm và đưa phiên bản SQL Server ở trạng thái chạy. Điều này thường là tối thiểu trong thời gian.
Bất kỳ khách hàng trừu tượng? Có, điều này sẽ được tích hợp sẵn với tên mạng ảo cho trường hợp cụm chuyển đổi dự phòng. Điều này sẽ luôn trỏ đến nút hoạt động hiện đang phân phối tài nguyên cụm SQL Server.
Các nhóm luôn sẵn sàng
Những gì có sẵn cao? Một nhóm khả dụng sẽ là sự ngăn chặn logic của tính sẵn sàng cao ở đây, trong khi một nhóm khả dụng bao gồm một số cơ sở dữ liệu và tên mạng ảo (người nghe, tài nguyên cụm tùy chọn). Điều đáng chú ý là các đối tượng máy chủ như đăng nhập và các công việc của SQL Server Agent sẽ không phải là một phần của giải pháp HA và cần phải xem xét đặc biệt để đảm bảo rằng chúng được thực hiện đúng với một nhóm khả dụng. Không phải là một yêu cầu quá nặng nề, nhưng cần phải được chăm sóc.
Báo cáo thì sao? Đây là một giải pháp tuyệt vời để báo cáo, mặc dù tôi có thể sẽ không sử dụng bản sao đồng bộ làm ví dụ báo cáo của mình. Có hai mối quan hệ cam kết, đồng bộ và không đồng bộ. Theo ý kiến của tôi và từ những gì tôi đã thấy trong thực tế, đó là bản sao thứ cấp đồng bộ của bạn đang chờ đợi một thảm họa. Hãy nghĩ về nó vì bản sao đó đã sẵn sàng để chuyển đổi dự phòng không mất dữ liệu trong trường hợp xảy ra sự cố. Sau đó, có các bản sao không đồng bộ có thể xử lý khối lượng công việc báo cáo đó. Bạn không sử dụng bản sao này làm giải pháp đã nói ở trên, nhưng chỉ là những thứ như báo cáo. Khối lượng công việc báo cáo có thể được trỏ đến bản sao này (trực tiếp hoặc gián tiếp thông qua định tuyến chỉ đọc qua người nghe).
Điều gì xảy ra khi có failover? Đối với bản sao thứ cấp cam kết đồng bộ được ghép nối với chuyển đổi dự phòng tự động, đây sẽ là thay đổi trạng thái vai trò bản sao từ SECONDARY_NORMAL thành PRIMARY_NORMAL. Để có chuyển đổi dự phòng tự động, bạn cần có một bản sao thứ cấp đồng bộ hiện đang được đồng bộ hóa và những gì được triển khai là Chính sách chuyển đổi linh hoạt để xác định khi nào thực tế việc chuyển đổi dự phòng này sẽ xảy ra. Chính sách đó thực sự là cấu hình.
Bất kỳ khách hàng trừu tượng? Có, bạn có thể tùy ý định cấu hình trình nghe Nhóm Luôn sẵn sàng. Về cơ bản, đây chỉ là một tên mạng ảo (có thể được xem qua WSFC như một tài nguyên cụm trong nhóm cụm của AG) trỏ đến bản sao chính hiện tại. Đây là một phần quan trọng trong việc thay đổi khối lượng công việc báo cáo của bạn, cũng như thiết lập danh sách định tuyến chỉ đọc trên bất kỳ máy chủ nào bạn muốn chuyển hướng lưu lượng ReadOnly (điều này được đặt qua chuỗi kết nối, với Nhà cung cấp .NET Framework cho SQL Máy chủ, đây sẽ là tham số Ý định ứng dụng , được đặt thành ReadOnly ). Bạn cũng sẽ cần đặt URL định tuyến chỉ đọc cho mỗi bản sao mà bạn muốn nhận khối lượng công việc báo cáo này trong khi ở vai trò bản sao phụ.
Nhân rộng giao dịch
Những gì có sẵn cao? Điều này là có thể tranh cãi, nhưng tôi sẽ không nói gì . Tôi không thấy sao chép là một giải pháp khả dụng cao. Có, sửa đổi dữ liệu đang được đẩy đến người đăng ký nhưng chúng tôi đang nói ở cấp độ xuất bản / bài viết. Đây sẽ là một tập hợp con của dữ liệu (có thể bao gồm tất cả dữ liệu, nhưng sẽ không được thực thi. Tức là bạn tạo một bảng mới trong cơ sở dữ liệu của nhà xuất bản và điều đó sẽ không tự động được đẩy tới người đăng ký). Theo như HA nói, đây là phần cuối cùng và tôi sẽ không nhóm nó trong đó với một giải pháp HA rắn chắc.
Báo cáo thì sao? Một giải pháp tuyệt vời để báo cáo về một tập hợp con dữ liệu, không có câu hỏi về điều đó. Nếu bạn có cơ sở dữ liệu 1 TB có tính giao dịch cao và bạn muốn giữ khối lượng công việc báo cáo đó khỏi cơ sở dữ liệu OLTP, sao chép giao dịch là một cách tuyệt vời để đẩy một tập hợp con dữ liệu đến một thuê bao (hoặc người đăng ký) cho khối lượng công việc báo cáo. Điều gì xảy ra nếu trong số 1 TB dữ liệu đó, khối lượng công việc báo cáo của bạn chỉ khoảng 50 GB? Đây là một giải pháp thông minh và tương đối có thể cấu hình để đáp ứng nhu cầu kinh doanh của bạn.
Tóm lược
Những gì nó sôi nổi là một số câu hỏi cần được trả lời (một phần bởi doanh nghiệp):
- Những gì cần phải có sẵn cao ?
- Các làm những gì SLA dictate cho HA / DR?
- Loại báo cáo nào sẽ diễn ra và độ trễ nào được chấp nhận?
- Chúng ta cần làm gì với HA phân tán theo địa lý ? (sao chép lưu trữ là tốn kém, nhưng phải có FCI. AG không yêu cầu lưu trữ được chia sẻ từ các trường hợp độc lập và bạn có thể sử dụng một nhân chứng chia sẻ tệp cho đại biểu có khả năng loại bỏ nhu cầu lưu trữ được chia sẻ)