Triệu chứng
Hãy cân nhắc các trường hợp sau:
- Bạn sử dụng Microsoft SQL Server 2012 hoặc SQL Server 2014.
- Bạn có cơ sở dữ liệu có hỗ trợ trình cung cấp dịch vụ trong bản sao chính.
- Bạn sao lưu cơ sở dữ liệu trong máy chủ chính đã bật service broker và khôi phục cơ sở dữ liệu đó trên máy chủ phụ.
- Là một phần của việc xác định nhóm tính sẵn sàng giữa máy chủ chính và phụ, bạn hãy tìm cách liên kết cơ sở dữ liệu với nhóm tính sẵn sàng bằng cách sử dụng trình hướng dẫn Nhóm Tính sẵn sàng Mới hoặc lệnh:
ALTER DATABASE <DBNAME> SET HADR AVAILABILITY GROUP = <agname>
Trong trường hợp này, lỗi sau được ghi trong nhật ký lỗi SQL Server:
Lưu ý
{
Lỗi: 3449, Mức độ nghiêm trọng: 21, Trạng thái: 1.
SQL Server phải tắt để khôi phục cơ sở dữ liệu (ID cơ sở dữ liệu 1). Cơ sở dữ liệu là cơ sở dữ liệu người dùng không thể tắt hoặc cơ sở dữ liệu hệ thống. Khởi động lại SQL Server. Nếu cơ sở dữ liệu không phục hồi được sau một lần khởi động khác, hãy sửa chữa hoặc khôi phục
SQL Trace bị dừng do máy chủ tắt. ID theo dõi = '1'. Đây chỉ là thông báo mang tính chất thông tin; Không cần người dùng hành động nào.
}
Nguyên nhân
Sự cố này xảy ra vì nếu một cơ sở dữ liệu hỗ trợ service broker được sao lưu và khôi phục vào máy chủ phụ, thì service broker trong cơ sở dữ liệu đã khôi phục sẽ không được bật. Cơ sở dữ liệu vẫn giữ id service broker nội bộ.
Khi bạn thêm cơ sở dữ liệu đã khôi phục trên máy chủ phụ vào nhóm tính sẵn sàng, môi giới dịch vụ sẽ được kích hoạt. GUID tương tự trong cơ sở dữ liệu về tính sẵn sàng được phát hiện và lỗi sau đây được phát sinh (không âm lặng):
9772 "Không thể bật Service Broker trong cơ sở dữ liệu "dbname<>" vì đã có Service Broker được kích hoạt có cùng ID".
Điều này dẫn đến lỗi 3449 khi cơ sở dữ liệu đang tham gia nhóm tính sẵn sàng và khiến máy chủ SQL tắt đột ngột.
Giải pháp
Sự cố này được khắc phục lần đầu tiên trong bản cập nhật tích lũy tiếp theo của SQL Server.
Cập nhật tích lũy 1 cho SQL Server 2014 /en-us/help/2931693
Cập nhật tích lũy 9 cho SQL Server 2012 SP1 /en-us/help/2931078
Giới thiệu về các bản cập nhật tích lũy cho SQL Server
Mỗi bản cập nhật tích lũy mới dành cho SQL Server chứa tất cả các bản sửa lỗi nóng và bản sửa lỗi bảo mật được tích hợp trong bản cập nhật tích lũy trước đó. Xem 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 tích lũy mới nhất cho SQL Server 2014
- Bản cập nhật tích lũy mới nhất cho SQL Server 2012 SP1
Trạng thái
Microsoft đã xác nhận rằng đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong mục "áp dụng cho".