說明:災難恢複系列的文章是由 Robert Davis 寫的,發布在SQLSoldier, 個人認為挺不錯的,所以根據自己的理解,邊測試邊整理,並非直接翻譯,如有不準確,歡迎指正。
本篇進入資料庫災難恢複第四篇,主要討論備份的重要以及一些容易被忽視而沒有備份。
系統資料庫
大多數人都知道要備份使用者資料庫,其實系統資料也需要備份,他們是master,model,msdb,distribution,以及resource資料庫,它的備份採用copy資料檔案(mssqlsystemresource.mdf and mssqlsystemresource.ldf)的方式,copy到你的放備份的目錄。
認證和非對稱金鑰
如果你為非對稱金鑰、授權、安全性實體建立了認證,那麼你需要考慮可能會再次使用它。倒如,如果你需要將一個加密資料庫移到一台新的伺服器,可能需要進行解密或重新加密,你將需要之前的認證。備份的方法是採用BACKUP CERTIFICAFE命令將其匯出到一個檔案,如果是密鑰,可以使用BACKUP MASERKEY命令。再者,備份的檔案一定要從伺服器刪除掉,將它們轉移到一個安全的地方。
SSRS密鑰
如果你丟失了SSRS執行個體,現在需要串連到一個新的存在的資料庫,你需要匯入之前的密鑰以便讀取敏感性資料,如果密鑰無效,你雖然也可以建立一個新的密鑰,但是這樣會清除所有存在的敏感性資料。曾經有這樣的一個客戶,他們報表伺服器有超600個訂閱,他們丟失了訂閱相關的使用者資訊,最後不得不查到這些使用者資訊再手工修複訂閱,而且他們還丟失了資料來源串連密碼,相比較修複訂閱來說還好點。
所以請確保匯出密鑰到一個檔案,不要存在原始伺服器,而是要存在其它安全地方,比如源代原始伺服器。
SSAS資料庫
使用XMLA備份SSAS資料庫,可以建立一個SQL job定期串連到SSAS去執行XMLA代碼。
樣本:
<Backup xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <Object> <DatabaseID>Adventure Works DW 2012</DatabaseID> </Object> <File>c:\bak\Adventure Works DW 2012.abf</File></Backup>
<Restore xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <File>c:\bak\Adventure Works DW 2012.abf</File> <DatabaseName>Adventure Works DW 2012</DatabaseName> <AllowOverwrite>true</AllowOverwrite> <Security>IgnoreSecurity</Security> <DbStorageLocation xmlns="http://schemas.microsoft.com/analysisservices/2008/engine/100/100">C:\Program Files\Microsoft SQL Server\MSAS11.MSSQLSERVER\OLAP\DATA\</DbStorageLocation></Restore>
總結:
本篇主要在說要除還備份使用者資料庫之外,還要備份系統資料庫、認證、master密鑰、SSRS的密鑰、SSAS資料庫,這些都是一些資料丟失的潛在問題,所以一樣要備份,比較常見的就是斷電易造成的問題,此時如果有這些備份,將會使恢複變得容易。
SQL Server 災難恢複31天之第5天:處理損壞的非叢集索引