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à:
- Xóa dự phòng tự động trên bản sao thứ cấp cam kết đồng bộ
- Nâng cấp phiên bản máy chủ thứ cấp lên phiên bản mới
- Thất bại thủ công đối với bản sao thứ cấp
- Xác minh cơ sở dữ liệu đang trực tuyến trên bản sao chính mới
- 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:
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?