คำถามติดแท็ก change-tracking

5
ตรวจจับการเปลี่ยนแปลงในตาราง SQL Server
ในแอปพลิเคชันของฉันด้วยฐานข้อมูลที่รันบน SQL Server 2012 ฉันมีงาน (ภารกิจตามกำหนดเวลา) ที่ดำเนินการแบบสอบถามที่มีราคาแพงเป็นระยะและเขียนผลลัพธ์ลงในตารางที่แอปพลิเคชันสามารถสอบถามได้ในภายหลัง โดยหลักการแล้วฉันต้องการเรียกใช้คิวรีที่มีราคาแพงเฉพาะเมื่อมีบางสิ่งเปลี่ยนแปลงเนื่องจากเคียวรีถูกเรียกใช้งานครั้งล่าสุด เนื่องจากตารางต้นฉบับมีขนาดใหญ่มากฉันจึงไม่สามารถเลือกการตรวจสอบกับคอลัมน์ผู้สมัครทั้งหมดหรืออะไรทำนองนั้น ฉันมีความคิดต่อไปนี้: เขียนการประทับเวลาที่มีการเปลี่ยนแปลงครั้งล่าสุดอย่างชัดเจนการตั้งค่าสถานะ "ต้องเป็นข้อความค้นหา" หรือสิ่งนี้ในตารางติดตามทุกครั้งที่ฉันเปลี่ยนบางสิ่งในตารางต้นฉบับ ใช้ทริกเกอร์ในการทำเช่นเดียวกัน อย่างไรก็ตามฉันอยากจะรู้ว่ามีวิธีที่มีน้ำหนักเบาในการตรวจสอบการเปลี่ยนแปลงในตารางโดยที่ฉันไม่ได้ติดตามการเขียนอย่างชัดเจนหรือไม่ ยกตัวอย่างเช่นฉันจะได้รับ "ปัจจุบัน" ROWVERSIONของตารางหรืออะไรแบบนั้น?

2
แคตตาล็อกข้อความแบบเต็มพร้อมการเปลี่ยนแปลงจะติดตาม: AUTO จะอัปเดตโดยอัตโนมัติหรือไม่หากการติดตามการเปลี่ยนแปลงสำหรับตารางนั้นไม่ได้เปิดใช้งานหรือไม่
ฉันมีตารางฐานข้อมูลนี้ที่ควรเก็บดัชนีข้อความแบบล่าสุด อย่างไรก็ตามฉันไม่เห็นว่าเกิดขึ้นเลย (ไม่มีข้อผิดพลาดในบันทึกเพราะบันทึกล่าสุดที่ฉันเห็นคือเมื่อฉันเรียกมันด้วยตนเอง) นี่คือสิ่งที่ฉันเห็น ... แต่บนโต๊ะตัวเอง ... นี่อาจเป็นสาเหตุที่ไม่เกิดขึ้นโดยอัตโนมัติหรือไม่

1
การติดตามการเปลี่ยนแปลงเปลี่ยนจาก SQL Server 2008 เป็น 2012 หรือไม่
ในปัญหาในการถ่ายภาพปัญหากับการซิงโครไนซ์อุปกรณ์ที่ไม่เชื่อมต่อกับเซิร์ฟเวอร์ฐานข้อมูลกลางเรากำลังประสบปัญหาหลังจากอัปเกรดเป็น SQL Server 2012 บนเซิร์ฟเวอร์ ดูเหมือนว่า CHANGE_TRACKING_MIN_VALID_VERSION จะส่งคืนค่าที่สูงกว่าที่ควร 1 (หรืออย่างน้อยก็กว่าที่เคยเป็นมาก่อนการอัพเกรด) ฉันทำงานผ่านตัวอย่างที่ยอดเยี่ยมของ Arshad Ali ถึงวิธีการตั้งค่าตัวอย่างง่ายๆ ฉันเรียกใช้สคริปต์จาก # 1 ถึง # 5 เพื่อแทรกลบและอัปเดตแถวในตารางพนักงานในทั้งสภาพแวดล้อมของ SQL Server 2008 และ 2012 ในปี 2008 คำสั่งต่อไปนี้จะคืนค่า 0: SELECT CHANGE_TRACKING_MIN_VALID_VERSION(OBJECT_ID('Employee')) ในปี 2012 จะส่งคืน 1 ในการทำงานกับสคริปต์อีกสองสาม (6-8) ในการทดสอบฉันตั้งระยะเวลาการเก็บข้อมูลเป็น 1 นาทีเพื่อหวังว่าจะบังคับให้มีการดำเนินการล้างข้อมูล ฉันออกไปทั้งวันและเห็นได้ชัดว่ามันวิ่งข้ามคืน ในอินสแตนซ์ปี 2008 CHANGE_TRACKING_CURRENT_VERSION และ CHANGE_TRACKING_MIN_VALID_VERSION มีค่าเท่ากับ (11) ในอินสแตนซ์ …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.