Triệu chứng
Hãy xem xét tình huống sau:
-
Bạn đang sử dụng Microsoft SQL Server 2016, 2014 hoặc 2012.
-
Bạn có một cơ sở dữ liệu là một phần của nhóm trạng thái sẵn sàng của AlwaysOn.
-
Trên bản sao chính, bạn thu nhỏ các tệp cơ sở dữ liệu để giảm kích cỡ của chúng.
-
Các bản sao chính sẽ gửi tất cả các thay đổi được ghi lại trong Nhật ký giao dịch đến bản sao phụ.
-
Trên bản sao phụ, chủ đề làm lại áp dụng các thay đổi từ Nhật ký giao dịch đến cơ sở dữ liệu là một phần của nhóm sẵn sàng.
Trong trường hợp này, các bản sao bị tạm ngừng. Ngoài ra, bạn có thể nhận được thông báo lỗi tương tự như sau:
<dấu thời gian> lỗi spid41s: 3456, mức độ nghiêm trọng: 21, tiểu bang: 1. <dấu thời gian> spid41s không thể làm lại bản ghi nhật ký (#), đối với ID giao dịch (#), trên trang (#), cơ sở dữ liệu ' <dbname> ' (cơ sở dữ liệu ID #). Trang: LSN = (#), đơn vị phân phối = #, nhập = #. Log: OpCode = #, ngữ cảnh #, chiếm hữu Pagelsn: (#). Khôi phục từ bản sao lưu cơ sở dữ liệu hoặc sửa cơ sở dữ liệu. <dấu thời gian> spid41s AlwaysOn sẵn sàng chuyển đổi dữ liệu theo nhóm cho cơ sở dữ liệu ' <dbname> ' đã bị tạm ngừng vì lý do sau: "hệ thống" (nguồn ID 2; Chuỗi nguồn: ' SUSPEND_FROM_REDO '). Để tiếp tục chuyển động dữ liệu trên cơ sở dữ liệu, bạn sẽ cần phải tiếp tục cơ sở dữ liệu theo cách thủ công. Để biết thêm thông tin về cách khôi phục cơ sở dữ liệu sẵn sàng, hãy xem sách trực tuyến của SQL Server. <dấu thời gian> lỗi spid41s: 3313, nghiêm trọng: 21, tiểu bang: 2. <tem thời gian> spid41s trong khi thực hiện thao tác đã ghi trong cơ sở dữ liệu ' <dbname> ', một lỗi xảy ra ở Nhật ký ID Thông thường, lỗi cụ thể trước đó đã được đăng nhập như một lỗi trong dịch vụ Nhật ký sự kiện Windows. Khôi phục cơ sở dữ liệu từ một bản sao lưu đầy đủ hoặc sửa cơ sở dữ liệu.
Nguyên nhân
Sự cố này xảy ra khi các thay đổi được áp dụng trong quá trình làm lại nếu công cụ cơ sở dữ liệu đang gặp phải trong LSNs đặt hàng trên các trang Hệ thống (GAM, PFS).
Giải pháp
Vấn đề lần đầu tiên được khắc phục trong bản Cập Nhật tích lũy SQL Server sau đây:
Mỗi bản Cập Nhật tích lũy mới cho SQL Server chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào bản Cập Nhật tích lũy trước đó. Chúng tôi khuyên bạn nên tải xuống và cài đặt các bản Cập Nhật tích lũy mới nhất cho SQL Server:
Bản cập nhật này sẽ ngăn không cho sự cố xảy ra. Nếu đã xảy ra sự cố, hãy làm theo các bước sau đây để gia nhập lại nhóm sẵn sàng của AlwaysOn:
-
Loại bỏ bản sao phụ hiện tại AlwaysOn.
-
Chạy lệnh sau đây trên các tệp dữ liệu bị ảnh hưởng để loại bỏ không gian được phân bổ khỏi cơ sở dữ liệu:
DBCC SHRINKFILE(<file_id>, TRUNCATEONLY)
-
Sao lưu các tệp cơ sở dữ liệu và đăng nhập.
-
Khôi phục cơ sở dữ liệu và Nhật ký trên bản sao phụ AlwaysOn.
-
Tham gia nhóm trạng thái sẵn sàng của AlwaysOn.
Trạng thái
Microsoft đã xác nhận đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".
Tham khảo
Tìm hiểu về thuật ngữ mà Microsoft sử dụng để mô tả các bản cập nhật phần mềm.