Bỏ qua để tới nội dung chính
Đăng nhập với Microsoft
Đăng nhập hoặc tạo một tài khoản.
Xin chào,
Chọn một tài khoản khác.
Bạn có nhiều tài khoản
Chọn tài khoản bạn muốn đăng nhập.

Triệu chứng

Quy sp_replmonitorsubscriptionpendingcmds lưu trữ không tương thích với sao nhân bản ngang hàng (P2P). Nó trả về một số lượng sai các lệnh đang chờ xử lý. Sau khi bạn áp dụng bản sửa lỗi này, sp_replmonitorsubscriptionpendingcmds sẽ tương thích với sao nhân bản P2P.

Lưu ý Tab  "Lệnh Không phân phối" của Màn hình Sao nhân bản sẽ sp_replmonitorsubscriptionpendingcmds ở phía sau.

Giải pháp

Thông tin cập nhật tích lũy

Sự cố này đã được khắc phục trong các bản cập nhật tích lũy sau đây SQL Server:

Lưu ý Sau khi bạn áp dụng bản cập nhật tích lũy này, sp_replmonitorsubscriptionpendingcmds vẫn có thể báo cáo một số lượng không chính xác các lệnh đang chờ xử lý để sao nhân bản P2P nếu bảng MSrepl_originators có chứa các mục nhập stale.

Nếu bảng MSrepl_originators có chứa các mục cũ, việc chạy sp_replmonitorsubscriptionpendingcmds sẽ tạo ra thông báo cảnh báo sau trong nhật ký SQL Server nhật ký lỗi:

Cảnh báo: Không thể tải phiên bản cơ sở dữ liệu cho cơ sở dữ liệu đăng ký ' <database_name>'. Các sp_replmonitorsubscriptionpendingcmds có thể báo cáo số lượng không chính xác các lệnh chờ xử lý để sao nhân bản P2P.

Để giải quyết vấn đề này, hoặc xóa các mục cũ từ MSrepl_originators hoặc vượt qua chính xác "dbversion" của một cơ sở dữ liệu thuê bao như một đối số subdb_version  khi bạn chạy sp_replmonitorsubscriptionpendingcmds.

Mẹo: Bạn có thể chọn một trong các phương pháp sau để tìm "dbversion" của cơ sở dữ liệu đăng ký:

  • Chạy truy vấn sau đây trên cơ sở dữ liệu phân phối: select dbversion from MSrepl_originators
    where publisher_database_id = <Publisher_Database_ID>
    and srvname = <Subscriber_Server>
    and dbname = <Subscriber_Database>Lưu
    ý Bạn cần thay thế các giá trị thích hợp cho <Publisher_Database_ID> , <Subscriber_Server> và <Subscriber_Database>.

  • Chạy truy vấn sau đây trên cơ sở dữ liệu đăng ký: declare @current_version int , @currentGuid uniqueidentifier
    select @currentGuid = recovery_fork_guid
    from sys.database_recovery_status
    where database_id = db_id()
    select @current_version = substring(convert(binary(16), isnull(@currentGuid, 0x0)),1,6)
    print @current_version

Mỗi bản cập nhật tích lũy mới dành SQL Server sẽ chứa tất cả các bản cập nhật nóng và bản sửa lỗi bảo mật có trong bản dựng trước. Chúng tôi khuyên bạn nên cài đặt bản dựng mới nhất cho phiên bản SQL Server:

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.

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.

Thông tin này có hữu ích không?

Bạn hài lòng đến đâu với chất lượng dịch thuật?
Điều gì ảnh hưởng đến trải nghiệm của bạn?
Khi nhấn gửi, phản hồi của bạn sẽ được sử dụng để cải thiện các sản phẩm và dịch vụ của Microsoft. Người quản trị CNTT của bạn sẽ có thể thu thập dữ liệu này. Điều khoản về quyền riêng tư.

Cảm ơn phản hồi của bạn!

×