อาการ
สมมติว่าคุณแนบฐานข้อมูลที่เปิดใช้งานสำหรับการเปลี่ยนแปลงการจับข้อมูลใน Microsoft SQL Server ๒๐๑๔, ๒๐๑๖หรือ๒๐๑๗ ถ้ามีธุรกรรมที่จะกระทำระหว่างการเริ่มต้นของฐานข้อมูลการเปลี่ยนแปลงข้อมูลอาจทำงานเป็นสถานะที่ไม่สอดคล้องกันนั่นคือการเปลี่ยนแปลงการจับข้อมูลจะอยู่ในสถานะที่ถูกปิดใช้งานแต่จะมีการเปลี่ยนแปลงการจับข้อมูลวัตถุ นอกจากนี้คุณอาจพบสถานการณ์ต่อไปนี้:
-
เมื่อคุณพยายามปิดใช้งานการเก็บข้อมูลการเปลี่ยนแปลงสำหรับฐานข้อมูลนี้โดยใช้กระบวนงานที่เก็บไว้ sp_cdc_disable_db คุณจะได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
ไม่มีการเปิดใช้งาน ชื่อฐานข้อมูลสำหรับการเปลี่ยนแปลงการจับข้อมูล ตรวจสอบให้แน่ใจว่ามีการตั้งค่าบริบทของฐานข้อมูลที่ถูกต้องและลองการดำเนินการใหม่ เมื่อต้องการรายงานเกี่ยวกับฐานข้อมูลที่เปิดใช้งานสำหรับการเปลี่ยนแปลงการจับข้อมูลให้สอบถามคอลัมน์ is_cdc_enabled ในมุมมองแค็ตตาล็อกฐานข้อมูล sys
-
เมื่อคุณพยายามเปิดใช้งานการเก็บข้อมูลการเปลี่ยนแปลงข้อมูลสำหรับฐานข้อมูลนี้โดยใช้กระบวนงานที่เก็บไว้ sp_cdc_enable_db คุณจะได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
Msg ๒๒๙๐๖ระดับ16สถานะ1กระบวนการ sp_cdc_enable_db_internal บรรทัด LineNumber ไม่สามารถเปิดใช้งานฐานข้อมูล ชื่อ สำหรับการเปลี่ยนแปลงข้อมูลได้เนื่องจากผู้ใช้ฐานข้อมูลชื่อ ชื่อ ผู้ใช้หรือ schema ที่ชื่อ SchemaNameมีอยู่แล้วในฐานข้อมูลปัจจุบัน จำเป็นต้องใช้วัตถุเหล่านี้โดยเฉพาะโดยการเปลี่ยนแปลงการจับข้อมูล วางหรือเปลี่ยนชื่อผู้ใช้หรือ schema แล้วลองการดำเนินการใหม่
การแก้ไข
ปัญหานี้ได้รับการแก้ไขแล้วในการอัปเดตที่สะสมต่อไปนี้สำหรับ SQL Server:
การอัปเดตที่สะสม8สำหรับ SQL Server ๒๐๑๖ SP1
การอัปเดตที่สะสมใหม่แต่ละรายการสำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตที่สะสมก่อนหน้านี้ ตรวจสอบการอัปเดตที่สะสมล่าสุดสำหรับ SQL Server:
การอัปเดตที่สะสมล่าสุดสำหรับ SQL Server ๒๐๑๖
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"
อ้างอิง
เรียนรู้เกี่ยวกับคำ ศัพท์เฉพาะทางที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์