Sql-Server

重置新的歸檔數據庫

  • April 8, 2019

我有一個歸檔問題。

我們有一個歷史數據庫,用於從我們的主系統歸檔舊記錄,並且應用程序知道查詢它

但是,它變得太大了。

我想重新初始化歷史數據庫。我的想法是——簡而言之:

  • 關閉這個數據庫,
  • 使其只讀,
  • 將其重命名為 *old
  • 創建一個類似的歷史數據庫(相同的結構/表)。
  • 在視圖/同義詞的幫助下,應用程序將能夠查詢兩個 DB 的數據,而無需更改程式碼。

我的問題是關於最後一部分

那行得通嗎?

我可以創建視圖/同義詞(視圖將使用 UNION ALL 查詢兩個表 DB),這將是預設的轉到對象名稱而不是實際的原始表名稱?

我們的主要問題是備份,因為每天都會進行歸檔,我們還需要備份這個數據庫,因為它是一個巨大的數據庫,它是一個時間和資源的腰部。

謝謝,羅尼。

減少具有隻讀數據的 VLDB 備份大小的內置方法是對大表進行分區,將舊分區放在只讀文件組上,然後對只讀文件組(或整個數據庫)進行不經常備份,結合起來定期備份讀寫文件組。然後你可以執行一個Piecemeal Restore

將要

$$ using UNION ALL views over multiple databases $$工作 ?

是的,您通常可以在不更改應用程序的情況下用視圖替換錶,除非應用程序做了一些不尋常的事情。風險在於性能,因為跨多個數據庫的 UNION ALL 視圖的實際性能並不相同。

您可能只是嘗試對存檔數據庫中的大型表使用列儲存壓縮

引用自:https://dba.stackexchange.com/questions/234163