KB2979121 - KHẮC PHỤC: Tác tử Trình đọc Nhật ký không thực hiện được khi bạn nâng cấp từ SQL Server 2008 lên SQL Server 2012 hoặc SQL Server 2014

Áp dụng cho
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Triệu chứng

Giả sử bạn sử dụng nhân bản giao tác trong Microsoft SQL Server 2008 và có một truy vấn cập nhật đang chạy trên ấn phẩm. Khi bạn nâng cấp SQL Server lên SQL Server 2012 hoặc SQL Server 2014 và truy vấn cập nhật không được phân phối trước khi nâng cấp, Tác nhân Reader Nhật ký có thể gặp lỗi với lỗi sau:

Lưu ý

<Ngày Giờ><> Nhà xuất bản: {call sp_replcmds (500, 0, 0, , 0, 500000)}
<Ngày giờ><> Trạng thái: 0, mã: 20011, văn bản: 'Quy trình không thể thực hiện 'sp_replcmds' trên ' Tên< nhà> xuất bản'.'.
<Ngày,><Giờ> Quy trình không thể thực hiện 'sp_replcmds' trên 'Tên< Nhà> phát hành'.
<Ngày giờ><Trạng> thái Đại lý Repl: 6
<Ngày giờ><> Trạng thái: 0, mã: 542, văn bản: 'Đã gặp giá trị ngày giờ không hợp lệ. Giá trị vượt quá năm 9999.'.
<Ngày giờ><> Trạng thái: 0, mã: 3621, văn bản: 'The statement has been terminated.'.
<Ngày giờ><> Trạng thái: 0, mã: 22037, văn bản: 'Quy trình không thể thực hiện 'sp_replcmds' trên 'Tên< nhà> xuất bản'.'.

Ngay cả khi sự cố này không xảy ra, các bản ghi nhật ký đã nâng cấp cho câu lệnh cập nhật vẫn có thể bị Tác nhân Trình đọc Nhật ký hiểu sai và lỗi sau có thể phát sinh trong Tác nhân Phân phối:

Lưu ý

515 Không thể chèn giá trị NULL vào cột '<Tên Cột>', bảng '<Tên Bảng>'; cột không cho phép giá trị null. CẬP NHẬT không thành công.

Lưu ý

  • Các kiểu dữ liệu và ràng buộc khác nhau có thể gây ra các báo cáo lỗi khác nhau và vấn đề này thậm chí có thể gây ra sự không hội tụ.
  • Sự cố xảy ra khi bạn nâng cấp từ SQL Server 2008 hoặc SQL Server 2008 R2 lên SQL Server 2012 hoặc SQL Server 2014.

      

Giải pháp

Nếu lỗi "515 Không thể chèn giá trị NULL vào cột '<Tên Cột>', bảng '<Tên Bảng>'; Cột không cho phép giá trị null. UPDATE fails" trong Tác nhân Phân phối đã xảy ra, bạn nên khởi tạo lại quá trình sao chép của mình. Hotfix này không khắc phục được lỗi này. Để tránh lỗi này, bạn nên vô hiệu hóa Tác nhân Trình đọc Nhật ký trước khi nâng cấp, sau đó nâng cấp toàn bộ cách đến bản sửa lỗi này, sau đó bật lại Tác nhân Trình đọc Nhật ký.
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 2 cho SQL Server 2012 SP2 /en-us/help/2983175

Cập nhật Tích lũy 3 cho SQL Server 2014 /en-us/help/2984923

Cập nhật tích lũy 11 cho SQL Server 2012 SP1 /en-us/help/2975396

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:

      

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".