(ถ้ามีคนพบวิธี - ที่ฉันไม่คิดว่ามีอยู่ฉันจะลบคำตอบของฉัน :-))
มีวิธีการตรวจสอบว่าการสำรองข้อมูลประกอบด้วยข้อมูล CDC หรือไม่
ฉันไม่คิดว่าจะมีวิธีใดที่จะทราบได้จากการสำรองข้อมูลหากมีการเปิดใช้งาน CDC หรือไม่
มากที่สุดที่คุณสามารถทราบว่าฐานข้อมูลมีส่วนร่วมในการจำลองแบบ (ภายใต้ประทุนใช้ตัวแทนผู้อ่านบันทึกที่สแกนบันทึกการทำธุรกรรม) หรือไม่โดยใช้DatabaseBackupLSNในผลลัพธ์ของRESTORE HEADERONLY
DatabaseBackupLSN เช่นเดียวกับ“ จุดเริ่มต้นของจุดตรวจสอบ” เริ่มต้น LSN นี้จะตรงกับFirstLSN
หากมีการสำรองข้อมูลเมื่อฐานข้อมูลไม่ได้ใช้งานและไม่มีการกำหนดค่าการจำลองแบบ
ฉันถือว่าเหตุผลที่ไมโครซอฟท์ไม่ปรากฏว่ามีการเปิดใช้งาน CDC หรือไม่อาจเป็นเรื่องความปลอดภัยเช่นกัน CDC เป็นเทคโนโลยีระดับองค์กรที่ช่วยให้สามารถติดตามการเปลี่ยนแปลงได้ตลอดจนถึงระดับคอลัมน์ ข้อกำหนดนี้เป็นไปตามข้อบังคับเช่น HIPAA, FISMA เป็นต้น
จากการกู้คืนหรือการเชื่อมต่อฐานข้อมูลที่เปิดใช้งานเพื่อเปลี่ยนการเก็บข้อมูล
SQL Server ใช้ตรรกะต่อไปนี้เพื่อตรวจสอบว่าการดักจับข้อมูลการเปลี่ยนแปลงยังคงเปิดใช้งานอยู่หลังจากฐานข้อมูลถูกกู้คืนหรือเชื่อมต่อ:
- หากฐานข้อมูลถูกกู้คืนไปยังเซิร์ฟเวอร์เดียวกันที่มีชื่อฐานข้อมูลเดียวกันการดักจับการเปลี่ยนแปลงข้อมูลจะยังคงเปิดใช้งานอยู่
- หากฐานข้อมูลถูกกู้คืนไปยังเซิร์ฟเวอร์อื่นโดยค่าเริ่มต้นการดักจับข้อมูลการเปลี่ยนแปลงจะถูกปิดใช้งานและข้อมูลเมตาที่เกี่ยวข้องทั้งหมดจะถูกลบ
- หากต้องการเก็บการเปลี่ยนแปลงข้อมูลไว้ให้ใช้ตัวเลือก KEEP_CDC เมื่อกู้คืนฐานข้อมูล สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกนี้ดู RESTORE
- หากฐานข้อมูลแยกออกและเชื่อมต่อกับเซิร์ฟเวอร์เดียวกันหรือเซิร์ฟเวอร์อื่นการดักจับข้อมูลการเปลี่ยนแปลงจะยังคงเปิดใช้งานอยู่
- หากฐานข้อมูลเชื่อมต่อหรือกู้คืนด้วยตัวเลือก KEEP_CDC ไปยังรุ่นอื่นที่ไม่ใช่ Enterprise การดำเนินการจะถูกบล็อกเนื่องจากการดักจับข้อมูลการเปลี่ยนแปลงต้องใช้ SQL Server Enterprise ข้อความแสดงข้อผิดพลาด 932 แสดงขึ้น:
SQL Server ไม่สามารถโหลดฐานข้อมูล '%. * ls' ได้เนื่องจากมีการเปิดใช้งานการดักจับข้อมูล SQL Server รุ่นที่ติดตั้งในปัจจุบันไม่รองรับการเก็บข้อมูลการเปลี่ยนแปลง ปิดใช้งานการดักจับการเปลี่ยนแปลงข้อมูลในฐานข้อมูลโดยใช้ SQL Server รุ่นที่ได้รับการสนับสนุนหรืออัปเกรดอินสแตนซ์เป็นอันที่รองรับการเก็บข้อมูลการเปลี่ยนแปลง