Cơ sở dữ liệu Luôn luôn của SQL Server bị kẹt trong chế độ Không đồng bộ hóa / Đang khôi phục sau khi nâng cấp. Lỗi: Không thể mở cơ sở dữ liệu 'phiên bản' 782


10

Trong khi thử nghiệm nâng cấp từ SQL Server 2014 SP1 (12.0.4422.0) lên SQL Server 2016 CTP 3.2 (13.0.900.73) Tôi đã theo dõi quá trình cập nhật được đề xuất và gặp phải sự cố trong đó cơ sở dữ liệu sẽ không khởi động trên chính cũ sau khi thất bại để cập nhật thứ cấp. Thiết lập của chúng tôi là một bản sao chính và một bản sao thứ cấp duy nhất và các bước tôi đã hoàn thành là:

  1. Xóa dự phòng tự động trên bản sao thứ cấp cam kết đồng bộ
  2. Nâng cấp phiên bản máy chủ thứ cấp lên phiên bản mới
  3. Thất bại thủ công đối với bản sao thứ cấp
  4. Xác minh cơ sở dữ liệu đang trực tuyến trên bản sao chính mới
  5. Nâng cấp bản sao chính trước đó lên phiên bản mới

Việc nâng cấp thứ cấp và chuyển đổi dự phòng để làm cho nó trở thành chính hoạt động như mong đợi. Nhưng sau khi nâng cấp bản sao chính trước đó, tôi nhận thấy rằng các cơ sở dữ liệu trên nó được liệt kê trong SSMS là Không đồng bộ hóa / Đang khôi phục . Cũng cố gắng truy cập chúng sẽ tạo ra một thông báo lỗi:

Cơ sở dữ liệu ... không thể truy cập. (Trình mở rộng đối tượng)

Kiểm tra thông qua Nhật ký máy chủ SQL tôi đã thấy

Không thể mở cơ sở dữ liệu '...' phiên bản 782. Nâng cấp cơ sở dữ liệu lên phiên bản mới nhất.

Truy vấn bảng master..sysdatabase cho thấy đây thực sự là phiên bản cũ hơn và chưa được cập nhật trong quá trình nâng cấp:

Phiên bản cơ sở dữ liệu SSMS

Thật không may, nhật ký không cho biết lý do tại sao nó không được cập nhật và Bảng điều khiển nhóm khả dụng chỉ đưa ra cảnh báo chung cho biết trạng thái đồng bộ hóa dữ liệu của một số cơ sở dữ liệu sẵn có không có lý do tại sao.

Tôi đã thử sử dụng TSQL để tách cơ sở dữ liệu hoặc đặt chúng ngoại tuyến để "khởi động" nó thành cập nhật, nhưng vì chúng là một phần của SQL AG nên các lệnh này không hoạt động.

Làm cách nào tôi có thể nâng cấp cơ sở dữ liệu lên phiên bản mới nhất khi nó là một phần của SQL AG?

Câu trả lời:


10

Sau khi tìm hiểu về SSMS một lúc, tôi nhận thấy rằng trên bản sao thứ cấp có biểu tượng tạm dừng bên cạnh Cơ sở dữ liệu sẵn có. Chính đã hiển thị cả hai là "màu xanh lá cây", nhưng có một tùy chọn trên thứ cấp để tiếp tục di chuyển dữ liệu . Tôi đã tiếp tục cơ sở dữ liệu đầu tiên và ngay lập tức thông báo trạng thái Đang khôi phục đã bị xóa. Một phút sau, nó thay đổi từ Không đồng bộ hóa thành Đồng bộ hóa và mọi thứ hoạt động như mong đợi.

Dưới đây là ảnh chụp màn hình của Cơ sở dữ liệu AG sau khi tôi sửa "Bản vá", nhưng trước khi sửa cơ sở dữ liệu kiểm tra:

Tiếp tục di chuyển dữ liệu trên SQL AG

Lưu ý, bạn cũng có thể sử dụng TSQL trên thứ cấp để tiếp tục sao chép trên nhiều cơ sở dữ liệu cùng một lúc:

ALTER DATABASE [Patch] SET HADR RESUME;
ALTER DATABASE [test] SET HADR RESUME;
GO

1
Bạn có biết điều gì đã khiến Bản sao tạm dừng? và tôi có thể tìm ra từ khi bản sao đã bị tạm dừng không?
JohnG
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.