อาการ
พิจารณาสถานการณ์ต่อไปนี้:
-
คุณใช้ sp_cdc_cleanup_change_table จัดการกระบวนการล้างข้อมูลตารางการเปลี่ยนแปลง
-
การหยุดชะงักเกิดขึ้นระหว่างการสแกนการเปลี่ยนแปลงข้อมูล (CDC) และการล้างข้อมูล CDC sp_cdc_cleanup_change_table ถูกเรียกใช้
ในสถานการณ์นี้ ข้อผิดพลาดต่อไปนี้ 22852 ที่มีความรุนแรง 10 (ข้อความแสดงข้อมูล) จะเกิดขึ้น:
ไม่สามารถลบรายการตารางที่เปลี่ยนแปลงซึ่งล้าสมัยโดยการเปลี่ยนแปลงในเครื่องหมายของลายน้้<ต่>อย่างน้อยหนึ่ง เครื่องหมาย ความล้มเหลวเกิดขึ้นเมื่อเรียกใช้<CommandName> ข้อผิดพลาดถูกส่งกลับ<ErrorInfo>
ใช้การแอคชันและข้อผิดพลาดเพื่อระบุสาเหตุของความล้มเหลวและส่งการร้องขออีกครั้ง
หมายเหตุเนื่องจากเป็นข้อความให้ข้อมูล กระบวนการล้างข้อมูลจะไม่ล้มเหลว และไม่มีวิธีที่จะระบุว่าการล้างข้อมูลประสบความสเร็จหรือล้มเหลว
รายละเอียดเกี่ยวกับการแก้ไข
เมื่อต้องการตรวจสอบว่าการล้างข้อมูลประสบความสเร็จหรือล้มเหลวเมื่อคุณใช้ sp_cdc_cleanup_change_table พารามิเตอร์ผลลัพธ์เสริม (fCleanupFailed bit) จะถูกเพิ่มลงในsp_cdc_cleanup_change_tableผลลัพธ์ ซึ่งสามารถใช้เพื่อตรวจสอบว่าการล้างข้อมูลของอินสแตนซ์จับภาพใดๆ ล้มเหลวหรือไม่ ถ้าผลลัพธ์ fCleanupFailed เป็น 0 การล้างข้อมูลทั้งหมดจะประสบความสเร็จ ถ้าเป็น 1 การล้างอินสแตนซ์การจับภาพอย่างน้อยหนึ่งอินสแตนซ์จะล้มเหลว นี่คือตัวอย่าง:
-- การประกาศตัวแปรและตั้งค่าเป็นศูนย์ก่อน
select @cleanup_failed_bit = 0
--Execute cleanup and obtain output bit
EXEC @retcode =sys.sp_cdc_cleanup_change_table
@capture_instance = '<CaptureInstance>',
@low_water_mark = @LSN,
@threshold = 1 ,
@fCleanupFailed = @cleanup_failed_bit output
--Leverage @cleanup_failed_bit output to check the status.
การแก้ไข
ปัญหานี้ได้รับการแก้ไขแล้วในการอัปเดตสะสมต่อไปนี้SQL Server:
การอัปเดตสะสมใหม่แต่ละรายการSQL Serverมีการแก้ไขด่วนและการรักษาความปลอดภัยทั้งหมดซึ่งอยู่ในรุ่นก่อนหน้า เราขอแนะSQL Serverติดตั้งรุ่นล่าสุด
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"
อ้างอิง
เรียนรู้เกี่ยวกับ ศัพท์เฉพาะที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์