Sql-Server

快速恢復多個數據庫——實踐災難恢復

  • March 13, 2016

我目前正在為 Sharepoint 2013 管理 SQL Server 2014 標準版實例。我們在 5 個月前開始使用 ~25 個數據庫,現在總共有 60 個。因此,使用中的數據庫正在增長。在恢復的情況下,我必須快速恢復我收集的所有備份。

到目前為止,我會複製名稱並將其放入單個腳本中。但在真正的災難情況下,我希望能做好更好的準備。你如何管理這個?你有註冊新創建的數據庫的工具或任何東西嗎?

有幾件事你需要弄清楚

但在真正的災難情況下,我希望能做好更好的準備。你如何管理這個?

不要等待災難發生。僅進行備份是不夠的。您應該能夠確認您進行的備份也能夠恢復。僅當您能夠恢復備份(並且 DBCC CHECKDB 不會返回損壞錯誤)時,備份才是好的。

我傾向於使用 CHECKSUM 進行備份。引用保羅蘭德爾的話

使用 WITH CHECKSUM 選項並成功完成備份會告訴您,在進行備份時,I/O 子系統未損壞具有頁面校驗和的頁面。

你有註冊新創建的數據庫的工具或任何東西嗎?

從技術上講,您不需要工具。所有新數據庫都在master.sys.databases和 msdb - 備份表中記錄備份歷史記錄。Paul Brewer的腳本- restore Gene負責為您生成恢復命令。(我用過它,它是一個很好的工具/腳本!)

如果您確實需要記錄創建了哪些數據庫,則可以使用伺服器級觸發器CREATE_DATABASE並將其記錄在 DBA 數據庫中。

以下是我個人更喜歡做的事情:

  • 我建構的所有 SQL 實例都安裝了 Ola Hallengren 的 MaintenanceSolution。我正在使用 Ola 的“DatabaseBackup”儲存過程根據需要執行備份(FULL、DIFF、LOG)
  • Ola 的 MaintenanceSolution 的一個驚人功能是“CommandLog”表。此表儲存由 MaintenanceSolution 儲存過程執行的所有操作的歷史記錄。
  • 現在的問題是 Ola 的腳本不包含自動創建恢復數據庫所需的“RESTORE”命令的功能。
  • Jared Zagelbaum 提供了救援,他正是創建了這個缺失的功能,我現在在許多 SQL 實例上成功地使用了這兩種解決方案的組合。

Jared 在明尼蘇達州 SQL 星期六的展示文稿的這個 ZIP 文件包含所有血淋淋的細節:http ://www.sqlpass.org/EventDownload.aspx?suid=11023

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