2008-11-17 77 views
7

作爲this question的後續操作,我想知道您的SQL Server備份/維護計劃是什麼,以及如何讓我的工作更好。什麼是您的SQL Server備份/維護計劃?

目前我正在從計劃嚮導中運行兩個簡單的維護計劃。

第一次運行每晚和不只是一切......

  • 完全數據庫和事務日誌備份
  • 完整性檢查,重建索引,重新計算統計等(我查了一下,除了增量備份一切)

另一個每三個小時運行一次,並進行增量備份(我是偏執的,我知道這可能是矯枉過正)。

備份到磁盤時,將完整備份發送到SAN,保留一週。

您認爲這是一個明智的計劃嗎?有什麼建議麼?

編輯:這是SQL Server 2005.數據庫是5GB,增長約1GB /月。

回答

7

聽起來不錯。我更偏執。我每天進行兩次完整備份和每小時事務日誌備份。取決於數據庫或課程的大小。備份將直接進行到磁盤,然後每晚備份到磁帶。

您可能不需要每天都執行維護任務。我只在週末做這些,除了我們每天晚上重新編制的這張桌子。這又取決於數據庫的大小和活動。

如果您有足夠的cpu和磁盤空間,您可以壓縮磁盤備份以節省空間並快速轉移到磁帶或其他位置。

2

我不認爲你是每3小時運行一次備份。基本上,您的備份計劃必須根據您的恢復要求進行衡量。在你恢復期間你能承受多久的損失,在你失敗之前你願意失去多少數據。對於SQL Server,通過將事務日誌備份添加到備份計劃中,您可以大大減少您願意丟失的數據量。許多人每隔幾分鐘就會做一次這取決於通過系統的交易量。要執行恢復,只需恢復最後一次完整,最後一個增量,然後從增量開始恢復所有事務日誌備份。這可以使您儘可能少地丟失數據,但應用所有事務日誌備份可能需要一點時間。我看到了下面的漂亮定期: 完整備份 - 每週 增量備份 - 每晚 日誌備份 - 根據要求每隔幾分鐘(可能是件好事每小時一次等)

3

你應該和你的用戶/客戶可以講/數據保管員 - 不管你怎麼稱呼他們。他們需要清楚地瞭解他們會失去多少工作。如果你沒有一個,寫一個SLA。當涉及到壞消息時,你不希望有任何意外。

他們還需要了解恢復需要時間。您需要計劃恢復計劃以創建可接受的恢復時間。這可能意味着每5分鐘進行一次每日完整備份,4次差異備份和日誌備份。這與Marcus Erickson所說的那樣並不瘋狂或偏執 - 這一切都歸結於您的信息和貴組織對其的投入。

1

請記住在您嘗試從您創建的備份(到測試系統)恢復的地方執行firedrills。這應該每月進行一次。

1

我推薦給我的客戶的最低要求是每晚對數據庫進行一次全面備份,然後每3小時進行一次事務備份。它總是令我驚訝,有多少人從未設置備份。這些始終是不好的電話。

1

在我看來,最好的辦法是:

製作的完整數據庫備份,每12小時

BACKUP DATABASE database TO DISK = 'd:/full.bak'

差異備份每六小時,在失敗的它讓我們很容易恢復的情況下過程

BACKUP DATABASE database TO DISK = 'd:/diff.bak' WITH DIFFERENTIAL

,當然,事務日誌備份whic h每個小時都更好。

BACKUP LOG database TO DISK = 'log.bak'

如果出現故障的情況下,復甦進程將是未來:

  • 上次完全備份
  • 上次差異備份
  • 的最後一個事務日誌

必須承認,最好使用完全恢復模式以實現時間點恢復。