2010-08-18 70 views
4

我們的SQL Server數據庫(SQL Server 2008標準版,因此是R2)在多年存儲數據時變得越來越大。因此,我們正在考慮將舊數據(可能超過一年)移動到存檔數據庫中。爲什麼我們可以從減少生產數據庫中獲益?有很多原因。需要關於歸檔大型SQL Server表的建議

這就是我計劃這麼做的原因(使用股票數據庫爲例)。對於庫存數據庫,現在會有庫存和庫存數據庫。 StockResults表將在Stock數據庫中命名爲StockResults_Current,在Stock_Archive中命名爲StockResults_Archive。在股票數據庫中會有一個叫做StockResults的視圖,它將這兩者聯合起來。我們會定期存檔數據(即將其移至Stock_Archive數據庫)。這是基本的想法。

我已經考慮通過將舊數據放入不同的文件組來劃分這些表,但我想保留主數據庫較小 - 而不僅僅是一些數據文件。

有沒有人試過類似的東西?或者有嘗試以這種方式存檔的建議?或者可以推薦更好的方法?

我並不太在意存檔數據的性能,但我不希望讀寫當前的數據會受到影響。我們的報告使用像StockResults這樣的表格。

我打算對存儲大量數據的所有事務表執行此操作。

任何意見將不勝感激。

回答

1

聽起來像是一個完美的數據倉庫場景。 您可以使用額外的StartDate和EndDate字段創建與現有庫存表格匹配的表格,以便跟蹤緩慢變化的維度。 然後,您也可以使用SSIS包來調查ETL。

在這裏看到一些爲鏈接 - Good place to start learning data warehousing?

如果你沒有一個已經會再是值得探討把一個立方體一起作爲報告平臺的一部分。

祝你好運!

0

DataWareHouse是一個選項,但我認爲你可以使用部分表來歸檔和分割你的大數據。

您可以按參數分割所有數據(例如StockDate)。你可以存儲每個部分的單個.mdf文件,當然如果你想要的話你可以存儲這個文件另一個驅動器。

如果你用部分表拆分數據,當你查詢「SELECT * FROM StokResults」時,你可以看到所有的數據,但你知道他們正在獲取絕望的文件。