CDC Capture thất bại công việc / thay đổi cột bảng CT sau khi áp dụng 2014 SP2 + CU4


7

Chúng tôi đã gặp sự cố với CDC khi công việc bắt giữ không thành công và sẽ không tự khởi động lại. Đó là trong một môi trường DEV vì vậy không có hại nhưng có ai nhìn thấy những lỗi này hoặc biết chính xác những gì đã xảy ra với CDC?

SQL 2014 EE 12.0.5540 - 2 nút AG với SSISDB

nhập mô tả hình ảnh ở đây

Quy trình hoặc chức năng sp_batchinsert_1663605265 có quá nhiều đối số được chỉ định. Để biết thêm thông tin truy vấn, khung nhìn quản lý động sys.dm_cdc_errors

Quá trình quét bản ghi không thể tạo một lệnh được sao chép từ số thứ tự nhật ký (LSN) {00002d0d: 0000f11f: 0002}. Sao lưu cơ sở dữ liệu xuất bản và liên hệ với Dịch vụ hỗ trợ khách hàng. Để biết thêm thông tin

Quá trình quét bản ghi không thành công trong việc xử lý các bản ghi nhật ký. Tham khảo các lỗi trước đó trong phiên hiện tại để xác định nguyên nhân và khắc phục mọi sự cố liên quan. Để biết thêm thông tin truy vấn, khung nhìn quản lý động sys.dm_cdc_errors

Chúng tôi đã cố gắng thả và tạo lại công việc chụp bằng sp_cdc_drop_jobabd sp_cdc_add_job. Chúng tôi cũng đã cố gắng không chuyển sang nút khác cũng như khởi động lại máy chủ / dịch vụ. Dường như không có gì để CDC tự khởi động lại.

Chúng tôi đã áp dụng CU4 vào thứ Sáu thông qua việc vá AG để chúng tôi có mặt mới nhất và tốt nhất. Vấn đề này bị cắt ngay sau khi chúng tôi vá và thất bại.

Đã thêm kết quả truy vấn Nhật ký

nhập mô tả hình ảnh ở đây


Bạn có thể đọc LSN không? Tôi đã thấy những điều kỳ lạ xảy ra với sự cố hỏng hóc và hoặc các vấn đề về đĩa tạm thời (hoặc không quá thoáng qua). Về cơ bản lỗi là nói rằng nó không thể đọc đúng và lấy dữ liệu từ lsn đó trong nhật ký.
Sean Gallardy - Người dùng đã nghỉ hưu

@SeanGallardy Tôi sẽ yêu cầu nhóm hệ thống rút các bản sao lưu nhật ký khi chúng tôi thấy sự xuất hiện đầu tiên (trực tiếp sau khi AG chuyển sang bản vá thứ cấp mới). FWIW, chúng tôi đang ở một SAN hấp dẫn vừa có hệ điều hành được nâng cấp 2 tuần trước. Chúng tôi đã thấy một số lần đọc lại, nhưng không có lỗi I / O cứng (823-825). Họ tuyên bố đã giải quyết vấn đề đó vào tuần trước. Tôi chắc chắn muốn theo dõi về điều này và xem chính xác những gì đã xảy ra. Nếu nó có thể xảy ra trong DEV, nó có thể xảy ra trong SẢN PHẨM.
Kris Gruttemeyer

@SeanGallardy Tôi tin rằng hình ảnh được thêm vào là những gì chúng tôi đang tìm kiếm. Điều này có phù hợp với những gì bạn đã thấy trước đây?
Kris Gruttemeyer

Mức độ tương thích của cơ sở dữ liệu gặp vấn đề là gì?
Kin Shah

120, luôn luôn là vì đây là bản dựng mới nên nó không đến từ phiên bản trước hay bất cứ thứ gì.
Kris Gruttemeyer

Câu trả lời:


6

Dường như CU2 + SP4 (12.0.5540) thay đổi cấu trúc của các bảng hệ thống _CT bên dưới được tạo. Nó thêm cột [__$command_id] int null.

Khi bạn nâng cấp tại chỗ lên CU mới, các công việc chụp sẽ bắt đầu không thành công hoặc chuyển sang 'giữa các lần thử lại ...' với các lỗi sau:

nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây

Thả và tạo lại công việc chụp không hoạt động (sử dụng cdc_add_job). Tôi đã phải bỏ công việc CDC tác nhân bắt giữ, vô hiệu hóa CDC (sp_cdc_disable_table) trên bàn và sau đó kích hoạt lại CDC (sp_cdc_enable_table), để thêm lại công việc và thực hiện thành công công việc và bắt đầu thu thập.

Vấn đề là, khi thả và bật lại CDC, bạn sẽ mất bảng _CT hiện có trước đó và tất cả dữ liệu của nó.

Thông tin duy nhất tôi đã tìm thấy về CU4 thay đổi CDC là thông tin sau từ MS: https://support.microsoft.com/en-us/help/3030352

Nó nói rằng họ đã sửa vấn đề đặt hàng, nhưng không liệt kê bất kỳ thay đổi cấu trúc nào đối với các bảng hệ thống CDC.

CẬP NHẬT 1 : Tôi đã mở một trường hợp hỗ trợ trả phí với MS liên quan đến vấn đề này. Ngoài ra còn có một mục kết nối mở cho nó: https://connect.microsoft.com/QueryServer/Feedback/Details/3130381

CẬP NHẬT 2 : Mỗi MS, sử dụng lệnh sp_vupgrade_replicationsau khi vá vào CU4 sẽ cho phép công việc bắt giữ tác nhân bắt đầu thành công. Nó vẫn không giải quyết các công việc thất bại trước khi lệnh được chạy. Nó cũng không giải quyết cột được thêm này không được ghi lại ở bất cứ đâu. Vẫn đang chờ xem bản án cuối cùng là gì.

CẬP NHẬT 3 : MS đã chính thức đăng lên blog của họ và nhận ra đây là một vấn đề: https://bloss.msdn.microsoft.com/sql_server_team/cdc-feftality-may-break-after-upgrad-to-the-latest-cu -for-sql-server-2012-2014-và-2016 /

Vẫn chưa có thông tin nào nếu họ sẽ phát hành lại bản vá CU4 để không yêu cầu can thiệp thủ công để khởi động lại các công việc CDC hoặc chính thức ghi lại sự thay đổi của cột.


Tôi biết bây giờ đây là một chủ đề (ish) cũ, nhưng chúng tôi vẫn có vấn đề ở đây. Nâng cấp lên SSDT2017 giải quyết vấn đề, nhưng đó không phải là điều chúng ta có thể thực hiện hiện tại. MS tuyên bố rằng nó đã được sửa trong 2016 SP1CU5, 2014 SP2CU7 và 2012 SP4 ( support.microsoft.com/en-gb/help/4053693 ) nhưng đã áp dụng bản cập nhật cho máy chủ thử nghiệm, tôi vẫn nhận được 'tên cột không hợp lệ __ $ command_id '. Đây có phải là một cái gì đó bạn vẫn đang chiến đấu với?
Simon Hellings

Chúng tôi đã sửa đổi các gói của chúng tôi để chiếm cột mới. Khắc phục sự cố mà bạn đã liệt kê ở trên từ MS khắc phục sự cố về các công việc CDC không quay trở lại sau khi vá. Cột bổ sung sẽ là một phần của CDC trong tương lai, do đó bạn sẽ phải ở lại vị trí của mình hoặc tính toán cho cột bổ sung trong các gói của bạn.
Kris Gruttemeyer

Cảm ơn Kris; phản hồi cực nhanh ... OK - bây giờ cho câu hỏi thực sự ngu ngốc ... Làm cách nào tôi có thể sửa đổi các gói của mình để xử lý việc này? Tôi chỉ cần điền vào các hộp và nhấn xem trước? Không có cột ánh xạ vẫn gây ra lỗi.
Simon Hellings

Tôi đoán bạn sẽ phải thêm cột vào nguồn CDC của mình trong gói và mang nó qua hoặc ánh xạ nó thành không có gì.
Kris Gruttemeyer
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.