Sql-Server
重置新的歸檔數據庫
我有一個歸檔問題。
我們有一個歷史數據庫,用於從我們的主系統歸檔舊記錄,並且應用程序知道查詢它
但是,它變得太大了。
我想重新初始化歷史數據庫。我的想法是——簡而言之:
- 關閉這個數據庫,
- 使其只讀,
- 將其重命名為 *old
- 創建一個類似的歷史數據庫(相同的結構/表)。
- 在視圖/同義詞的幫助下,應用程序將能夠查詢兩個 DB 的數據,而無需更改程式碼。
我的問題是關於最後一部分
那行得通嗎?
我可以創建視圖/同義詞(視圖將使用 UNION ALL 查詢兩個表 DB),這將是預設的轉到對象名稱而不是實際的原始表名稱?
我們的主要問題是備份,因為每天都會進行歸檔,我們還需要備份這個數據庫,因為它是一個巨大的數據庫,它是一個時間和資源的腰部。
謝謝,羅尼。
減少具有隻讀數據的 VLDB 備份大小的內置方法是對大表進行分區,將舊分區放在只讀文件組上,然後對只讀文件組(或整個數據庫)進行不經常備份,結合起來定期備份讀寫文件組。然後你可以執行一個Piecemeal Restore。
將要
$$ using UNION ALL views over multiple databases $$工作 ?
是的,您通常可以在不更改應用程序的情況下用視圖替換錶,除非應用程序做了一些不尋常的事情。風險在於性能,因為跨多個數據庫的 UNION ALL 視圖的實際性能並不相同。
您可能只是嘗試對存檔數據庫中的大型表使用列儲存壓縮。