本文旨在從資料庫管理方面,提供將sql server大資料表歸檔的解決方案。可以作為新業務上線時進行方案設計的參考。
方案一:
方案介紹
bcp匯出資料到本地目錄目錄後,遍歷目錄檔案bcp匯入到臨時表,再迴圈刪除源表資料。通過insert into … left join …通過主鍵關聯臨時表和歸檔表排除存在的資料。(或通過2008及後續版本的merge語句,不存在插入,存在更新)
方案優缺點
優點:bcp效能好、通過sp容易控制邏輯、維護簡單
缺點:邏輯略繁瑣
方案二:
方案介紹
bcp匯出資料到遠端目錄後迴圈刪除源表資料,遍歷目錄檔案bcp匯入到臨時表,再通過insert into … left join …通過主鍵關聯臨時表和歸檔表排除存在的資料。(或通過2008及後續版本的merge語句,不存在插入,存在更新)
方案優缺點
優點:bcp效能好、通過sp容易控制邏輯、維護簡單
缺點:邏輯略繁瑣,兩台主機需要能unc共享訪問
方案三:
方案介紹
bcp匯出資料到本地目錄後ftp到遠端目錄,再迴圈刪除源表資料,遍歷目錄檔案bcp匯入到臨時表,再通過insert into … left join …通過主鍵關聯臨時表和歸檔表排除存在的資料。(或通過2008及後續版本的merge語句,不存在插入,存在更新)
方案優缺點
優點:bcp效能好、通過sp容易控制邏輯、維護簡單
缺點:邏輯略繁瑣,遠端要架設ftp伺服器
方案四:
方案介紹
bcp匯出資料到遠端目錄後迴圈刪除源表資料,遍歷目錄檔案ssis資料匯入和更新。
方案優缺點
優點:bcp效能好
缺點:字段變更後ssis包需同步修改,ssis包維護麻煩,兩台主機需要能unc共享訪問
方案五:
方案介紹
bcp匯出資料到本地目錄後ftp到遠端目錄,迴圈刪除源表資料,再遍歷目錄檔案ssis資料匯入和更新。
方案優缺點
優點:bcp效能好
缺點:字段變更好,ssis包需同步修改,ssis包維護麻煩,遠端要架設ftp伺服器
方案六:
方案介紹
資料插入到另乙個臨時歸檔庫後迴圈刪除源表資料,再將臨時歸檔表複製到遠端。
方案優缺點
優點:邏輯簡單
缺點:需要另建乙個臨時歸檔庫、增加了負載
方案七:
方案介紹
資料通過linkedserver插入遠端歸檔表後迴圈刪除。
方案優缺點
優點:邏輯簡單
缺點:linkedserver遠端效能問題
方案八:
方案介紹
切換分割槽到臨時表,資料再通過linkedserver插入遠端歸檔表。
方案優缺點
優點:資料歸檔方便
缺點:只針對分割槽表
方案九:
方案介紹
ssis將資料插入或更新到歸檔表後迴圈刪除源表。
方案優缺點
優點:邏輯整合
缺點:維護成本高,定位問題麻煩
方案十:
方案介紹
開源軟體,如eyearchive
方案優缺點
優點:開源軟體
缺點:方法單一
SQL Server 資料歸檔方案
sql server 資料歸檔方案 方案一 方案介紹 bcp匯出資料到本地目錄目錄後,遍歷目錄檔案bcp匯入到臨時表,再迴圈刪除源表資料。通過insert into left join 通過主鍵關聯臨時表和歸檔表排除存在的資料。或通過2008及後續版本的merge語句,不存在插入,存在更新 方案優缺...
sqlserver大資料歸檔
昨天做了個日常大資料歸檔,歸檔700w資料,表字段130左右,字段比較多,分享下!先禁用表的index 1.先獲取需要禁用的索引 declare tname varchar 100 set tname orders select alter index c.indexname on tname di...
SQL Server 快速刪除 歸檔資料方法小結
最近遇到了清理歷史資料的需求,整理一下不同場景及對應處理方法 這是最簡單的,truncate drop table即可 這種情況是,會不斷往表裡插入新資料但是並不會去查詢,一般是系統異常時開發手動去查。這種情況可以停業務將原表重新命名為bak表,再按原有表結構建立乙個新錶讓系統插入。bak表根據業務...