ตรวจสอบการเปลี่ยนแปลงตาราง SQL Server หรือไม่
ฉันจะตรวจสอบฐานข้อมูล SQL Server สำหรับการเปลี่ยนแปลงตารางโดยไม่ต้องใช้ทริกเกอร์หรือปรับเปลี่ยนโครงสร้างของฐานข้อมูลได้อย่างไร? สภาพแวดล้อมการเขียนโปรแกรมที่ฉันต้องการคือ. NETและ C # ฉันต้องการให้รองรับSQL Server 2000 SP4 หรือใหม่กว่า แอปพลิเคชันของฉันคือการแสดงข้อมูลแบบ bolt-on สำหรับผลิตภัณฑ์ของ บริษัท อื่น ฐานลูกค้าของเราอยู่ในหลักพันดังนั้นฉันไม่ต้องการที่จะใส่ข้อกำหนดที่เราแก้ไขตารางผู้จำหน่ายบุคคลที่สามในทุก ๆ การติดตั้ง โดย"การเปลี่ยนแปลงตาราง"ฉันหมายถึงการเปลี่ยนแปลงข้อมูลตารางไม่ใช่การเปลี่ยนแปลงโครงสร้างตาราง ในที่สุดฉันต้องการให้การเปลี่ยนแปลงเกิดขึ้นในแอปพลิเคชันของฉันแทนที่จะต้องตรวจสอบการเปลี่ยนแปลงเป็นระยะ หลักสูตรที่ดีที่สุดของการดำเนินการให้ความต้องการของฉัน (ไม่ทริกเกอร์หรือสคีแก้ไข, SQL Server 2000 และ 2005) น่าจะเป็นที่จะใช้BINARY_CHECKSUMฟังก์ชั่นในT-SQL วิธีที่ฉันวางแผนที่จะใช้คือ: ทุกๆ X วินาทีจะเรียกใช้คิวรีต่อไปนี้: SELECT CHECKSUM_AGG(BINARY_CHECKSUM(*)) FROM sample_table WITH (NOLOCK); และเปรียบเทียบกับค่าที่เก็บไว้ หากมีการเปลี่ยนแปลงค่าไปผ่านแถวตารางโดยแถวโดยใช้แบบสอบถาม: SELECT row_id, BINARY_CHECKSUM(*) FROM sample_table WITH (NOLOCK); …