เคยเห็น DBA Oracle หลายท่านทำ Report Server ด้วยวิธีการทำ Snapshots ที่ลักษณะการทำงานคือ Select data จากต้นทางมา update ที่ Snapshots โดยข้อมูลก็จะถูก update เฉพาะส่วนที่เพิ่มเติมเข้ามา ผมได้มีโอกาสไปแอบดู Script การทำ Snapshots ของ DBA แล้ว รู้สึกแปลกใจที่ ไม่มี Where clause ที่แสดงถึง การเลือกโดย update date ของ data ที่ไปดึงมาเลย เช่น ตารางที่มักจะเก็บ Update_Date ไว้เป็น field หนึ่งที่จะบอกถึงเวลาที่ record นั้นๆถูกบันทึก ผมจึงเกิดคำถามขึ้น และได้รู้จาก DBA ว่า ใน Record แต่ละ Row ของ Oracle ก็จะมีการ เก็บ Update_DateTime ของ Record นั้นๆไว้อยู่แล้ว โดยที่ไม่ได้เป็น field ใน Table เลย ผมจึงสงสัยขึ้นอีกว่า function แบบนี้ ไม่ได้อยู่ใน DB อื่นๆนี่ แล้วแบบนี้จะทำ Snapshots จาก MSSQL ได้อย่างไร
สุดท้ายคำตอบที่ทำให้ผมหน้าแตกก็คือ Snapshots เอาไว้ capture data ระหว่าง DB Oracle ด้วยกัน เอาไปใช้กับ DB อื่นๆไม่ได้ ถ้าจะ Update ข้อมูลจาก DB อื่น ต้องเขียน Store Procedure แล้วให้ Job รันเอา
ฮ่าๆๆๆ อายเลยครับพี่น้อง
ไม่มีความคิดเห็น:
แสดงความคิดเห็น