問題
數據庫管理員眼下的一個挑戰是備份和恢復數據庫。備份在自動調度表中完成,但是恢復可以采取很多不同的版本,你可能需要恢復一個產品數據庫,恢復一個發展包,或者測試數據庫,或者只在另外的地方創建數據庫副本。有一些自動執行恢復過程和創建腳本的方法,但是這個方法顯示了一種方式,那就是只讀取存在於備份文件中的目錄的內容。
專家解答
以下是讀取目錄中的內容和創建需要通過執行來恢復數據庫的恢復命令的一種簡單方法。這個腳本可以用於全部備份,差異備份和事務日志備份。
在我們開始之前,下面的腳本假設情況如下:
1、 恢復的數據庫擁有和備份數據庫一樣的名稱。
2、 恢復的數據庫和備份數據庫存儲在相同的位置。
3、 文件名具有以下的格式
dbName_YYYYMMDDHHMM.xxx
4、 文件擴展名如下
全部備份 – BAK
差異備份 – DIF
事務日志備份 – TRN
5、 XP_CMDSHELL 是可用的
6、 不存在可能破壞恢復鏈的缺失的事務日志
所以,讓我們按照下面的步驟來創建自己的備份:
在午夜進行全部備份
早上3:15開始每三個小時進行一次差異備份
早上1點開始每半個小時進行一次日志備份
在上午九點,我們可能會得到以下創建於2008年9月10日的備份文件,這個備份文件遵從以上規則,命名為Customer。
Customer_200809100000.BAK
Customer_200809100100.TRN
Customer_200809100130.TRN
Customer_200809100200.TRN
Customer_200809100230.TRN
Customer_200809100300.TRN
Customer_200809100315.DIF