Triệu chứng
Giả định rằng bạn sử dụng nhân bản giao dịch 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 bố trước khi nâng cấp, đại diện bộ đọc Nhật ký có thể không thành công với lỗi sau đây:
<Date> <Time> Nhà phát hành: {cuộc gọi sp_replcmds (500, 0, 0,, 0, 500000)}<ngày> <trạng thái>thời gian : 0, mã: 20011, văn bản: ' không thể thực thi ' sp_replcmds ' trên '< Publisher name>'. '.<Date> <Time> Quy trình này không thể thực thi ' sp_replcmds ' trên '<tên nhà phát hành>'.<Date> <Time> Trạng thái đại diện repl: 6<ngày>> <thời gian : 0, mã: 542, văn bản: ' một giá trị DateTime không hợp lệ. Giá trị vượt quá năm 9999. '.<Date> <Time> Trạng thái: 0, mã: 3621, văn bản: ' câu lệnh đã bị chấm dứt. '.<Date> <Time> Trạng thái: 0, mã: 22037, văn bản: ' quy trình không thể thực thi ' sp_replcmds ' trên '<Publisher>'. '.
Ngay cả khi vấn đề này chưa xảy ra, bản ghi nhật ký đã nâng cấp cho câu lệnh update vẫn có thể bị misinterpreted bởi đại diện bộ đọc Nhật ký và các lỗi sau có thể phát sinh trong đại diện phân phố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 nulls. Cập Nhật không thành công.
Lưu ý
-
Các kiểu dữ liệu khác nhau và các ràng buộc có thể gây ra lỗi khác nhau để báo cáo và vấn đề này thậm chí có thể gây ra 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 nulls. Cập Nhật không thành công "trong đại diện phân phối đã xảy ra, bạn nên tái tạo lại bản sao của bạn. Hotfix này không khắc phục lỗi này. Để tránh lỗi này, bạn nên tắt đại diện bộ đọc Nhật ký trước khi nâng cấp, rồi nâng cấp tất cả các cách sửa lỗi này, sau đó bật lại tác nhân trình đọc Nhật ký. vấn đề lần đầu tiên được khắc phục trong bản Cập Nhật tích lũy sau của SQL Server.
Bản Cập Nhật tích lũy 2 cho SQL Server 2012 SP2 /en-us/help/2983175
Bản Cập Nhật tích lũy 3 cho SQL Server 2014 /en-us/help/2984923
Bản Cập Nhật tích lũy 11 cho SQL Server 2012 SP1 /en-us/help/2975396
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:
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".