Sql-Server-2008-R2
在時間間隔內擷取表數據更改以導出到數據倉庫的提示
我最近的任務是將數據從我們的一個數據庫導出到中央數據倉庫。導出應該是增量的,因為每 24 小時滿載會大量浪費資源、頻寬和時間。
這就是我的問題,在數據庫中同時擷取新行和更改行的最佳方法是什麼?我已經看到了從時間戳到創建 DateTime 列並在每次插入/更新時手動更新它的所有建議,現在我完全不知所措。
如果我要使用 DateAndTime 列,我認為必須有一種方法來創建例如觸發器或類似的方法來擷取所有插入和更新,還是我錯了?
我知道這個問題並不像許多其他問題那樣細化,但我真的被困住了,並且會感謝所有幫助和/或提示。提前致謝。:)
處理此問題的最簡單方法可能是
IsDirty
使用觸發器更新這樣的位欄位,並在執行 ETL 時將整個表設置為 0。如果
1
為更新的每一行都設置為 ,並且您給它一個預設值1
,那麼您可以為您的 ETL 創建導出視圖,IsDirty = 1
以便您只與新行互動。如果您需要知道數據何時更改和/或有多個 ETL 流程訪問相同的數據,那麼您將需要有一個
datetime
欄位並將導出日期和時間儲存在配置表中。