2012-02-16 82 views
2

對於約10 GB的SQL Server 2008數據庫,我們遇到事務日誌增長到大約70 GB的大小問題。這發生在使用SSIS 2008運行的ETL過程的暫存數據庫中。該過程大約需要8小時才能完成,並且每週運行一次。如何減少SSIS ETL過程的事務日誌大小?

70 GB正在接近系統的物理限制,單獨的I-O將會有性能損失。

我們絕不會使用日誌來恢復暫存數據庫,因爲ETL將在每次運行時重新開始,並在進程失敗時恢復早期的數據庫備份。此時,增量ETL過程將很難實現,因爲配置可能會在運行之間更改,從而更改許多或所有計算。

數據庫恢復模型設置爲簡單。可以允許SISS獨佔訪問登臺數據庫。

我們想知道可以從SISS調整什麼。

一些注意事項:

  • 多個連接似乎通過SISS來作出數據庫。這如何幹擾調整包的事務隔離級別和事務的「長度」,即在某些步驟完成後執行?
  • 在單用戶模式下運行時,進程性能是否會提高? SISS可以解決這個問題嗎?
  • 配置軟件包以設置Transaction = Unsupported進行運行是否明智?

在這個問題上的任何經驗,想法或建議?

回答

0

如果此過程每週運行一次,我假設數據不需要在進入系統時進行處理。爲了澄清(並糾正我,如果我錯了),你有一些數據,你每週加載到數據庫一次。

如果日誌很大,我會假設你沒有做批量插入。如果沒有,那就做吧!那應該加快的進程減小日誌大小。

+0

你說得對,假設在E步驟中存在從源到轉移的普通副本。這些複製任務在SISS中執行。我認爲這會在引擎蓋下使用批量複製,但會更仔細地查看它。我認爲日誌主要在轉換步驟中增長,但也會更密切地關注。 – 2012-02-17 11:29:42