Triệu chứng
Giả định rằng bạn sử dụng cách phối bản sao mà nhà phát hành đang chạy trên Microsoft SQL Server 2012 hoặc SQL Server 2012 Service Pack 1 (SP1). Sau khi nâng cấp nhà phát hành lên SQL Server 2012 Service Pack 2 (SP2), bạn không thể khởi động lại đại diện phối. Ngoài ra, bạn nhận được lỗi sau đây:
Quy trình phối không thể thực hiện việc dọn sạch siêu dữ liệu dựa trên cơ sở dữ liệu ' MergePub '. Nếu lỗi này vẫn tiếp tục, hãy thử tăng thời gian chờ truy vấn cho quy trình này, hoặc thử giảm khoảng thời gian lưu giữ. Khi khắc phục sự cố, hãy khởi động lại việc đồng bộ hóa với tính năng ghi nhật ký lịch sử và xác định một tệp đầu ra để viết.
Khi bạn thực thi sp_mergemetadataretentioncleanup thủ tục được lưu trữ theo cách thủ công trên nhà phát hành, thủ tục được lưu trữ không thành công và bạn nhận được lỗi sau đây:
Msg 206, mức 16, bang 2, sp_mergemetadataretentioncleanup thủ tục, dòng và kiểu 63Operand Type Clash: bigint tương thích với uniqueidentifierMsg 206, Level 16, State 2, thủ tục sp_mergemetadataretentioncleanup, dòng 65Operand Type Clash: int không tương thích với uniqueidentifier
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.
Bản Cập Nhật tích lũy 3 cho SQL Server 2012 SP2 /en-us/help/3002049
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 đó. Kiểm tra các bản Cập Nhật tích lũy mới nhất cho SQL Server:
Cách giải quyết
Để giải quyết vấn đề này, hãy thực hiện truy vấn sau đây trên cơ sở dữ liệu đã phát hành:if exists (select * from sys.columns sc inner join sys.types st on sc.system_type_id = st.system_type_id where object_id = object_id('dbo.sysmergesubscriptions') and sc.name = 'last_local_recgen' and st.name = 'uniqueidentifier') begin alter table dbo.sysmergesubscriptions drop column last_local_recgen alter table dbo.sysmergesubscriptions add last_local_recgen bigint null end
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".