3
ค้นหาตัวตนของลูกค้าที่เริ่มสืบค้นใน SQL Server โดยไม่ใช้ทริกเกอร์หรือไม่
ขณะนี้ฉันใช้Change Data Capture (CDC)เพื่อติดตามการเปลี่ยนแปลงข้อมูลและฉันต้องการติดตามชื่อโฮสต์และที่อยู่ IP ของลูกค้าที่ส่งการสอบถามที่ทำการเปลี่ยนแปลง หากมีลูกค้าที่แตกต่างกัน 5 คนลงชื่อเข้าใช้ด้วยชื่อผู้ใช้เดียวกันคนหนึ่งเผชิญกับปัญหาในการติดตามซึ่งหนึ่งในห้านั้นทำการสืบค้น โซลูชันที่กว้างขวางอื่น ๆ ที่ฉันพบรวมถึงการแก้ไขตาราง CDC ด้วยคำสั่งต่อไปนี้: ALTER TABLE cdc.schema_table_CT ADD HostName nvarchar(50) NULL DEFAULT(HOST_NAME()) อย่างไรก็ตามสิ่งนี้จะส่งคืนชื่อโฮสต์ของเซิร์ฟเวอร์ที่เปิดใช้งานการสืบค้นไม่ใช่ชื่อโฮสต์ของไคลเอนต์ที่เปิดใช้งานการสอบถาม มีวิธีแก้ไขปัญหานี้หรือไม่? สิ่งที่จะช่วยในการบันทึกชื่อโฮสต์หรือที่อยู่ IP (หรือเอกลักษณ์เฉพาะอื่น ๆ ) ของลูกค้า ฉันไม่ต้องการใช้ทริกเกอร์เนื่องจากมันทำให้ระบบช้าลง CDC ก็สร้างตารางระบบดังนั้นจึงมีทริกเกอร์ที่ไม่สามารถทำได้