王捷音
隨著計算機技術的發(fā)展,數據庫技術已成為計算機信息系統(tǒng)與應用系統(tǒng)的核心技術和重要基礎,數據庫信息的安全性和穩(wěn)定性就顯得尤為重要。我們日常工作中所用到的雨水情處理系統(tǒng)、報文的轉換系統(tǒng)、水文管理系統(tǒng)等都是以水文數據庫為基礎的,如果由于人為錯誤、硬件故障、程序錯誤、計算機病毒、網絡故障或自然災害等原因造成水文數據庫破壞或丟失,將嚴重影響防汛抗旱工作的順利進行,因此,需要進行數據庫備份來保護水文數據庫。當數據庫受到破壞或丟失時,用戶可以使用數據庫的備份文件對其進行恢復,保障水文數據庫信息的安全和穩(wěn)定。
SQL SERVER 2005是目前比較常用的數據庫,對數據庫的備份也有許多方法,利用其本身企業(yè)管理器帶有備份和恢復數據庫的工具可以實現(xiàn),利用ASP以及別的編程技術也可實現(xiàn)。本文主要介紹的是利用SQL SERVER代理作業(yè)實現(xiàn)水文數據庫在本機以及遠程的雙備份。這樣即使本機受到損壞,但網絡內的另外一臺機器還有備份。
要實現(xiàn)本機遠程雙備份技術就必須要了解SQL SERVER 2005數據庫備份的基本原理和相關的基礎知識,SQL SERVER 2005常用的備份和恢復的方法有:
(1)通過企業(yè)管理器的數據庫備份和還原功能。
(2) 在查詢分析器里執(zhí)行“sp_detach_db’db_name’,true”分離數據庫,將*.mdf和*.ldf拷貝出來,當然也可以通過停止SQL SERVER服務來拷貝數據庫文件,即冷備份。利用數據庫附加來還原數據庫。
(3)在查詢分析器里執(zhí)行“backup database‘db_name’to disk=’文件名’”來備份數據庫,執(zhí)行“restoredatabase‘db_name’fromdisk=’文件名’”可還原數據庫。
第一種方法是利用SQL SERVER的企業(yè)管理器自帶的數據庫備份恢復的功能,可以直接使用。第二種方法是通過在查詢分析器里執(zhí)行數據庫分離的SQL語句來實現(xiàn),也可以通過拷貝文件來實現(xiàn)冷備份。第三種方法就是要在查詢分析器里里執(zhí)行SQL語句來備份和還原數據庫。本文將采用第三種方法的原理,在代理作業(yè)中進行自動備份。
利用代理作業(yè)的目的是將數據庫根據時間進行本機和遠程備份,備份后壓縮、刪除原文件、定期刪除一天前的遠程以及本機備份。利用SQL SERVER代理作業(yè)的前提是將SQL Server Agent服務打開。假設水文數據庫(數據庫名為SQDB)在A機上,將數據庫備份保留在A機的E盤下的SJDB文件夾下同時存在局域網內B機(假設B機的ip地址為192.168.0.7,將bf文件夾做為備份文件夾)上。具體步驟如下:
(1)在開始菜單中打開SQL Server Management Studio,展開窗口左邊的對象資源管理器。
(2)在 SQL Server代理下,選擇“作業(yè)->新建作業(yè)->常規(guī)”,輸入作業(yè)的名稱。在新建步驟中選擇T-SQL,命令中輸入下面語句:
代碼中備份的刪除間隔天數可以自由設置,可以設置成1d,也可以設置成7d。
(3)添加計劃,按工作的實際情況設置頻率、時間等參數,這樣代理作業(yè)就可以按照使用者的意愿去執(zhí)行。
進行數據庫代理作業(yè)設置之后,由于所備份文件處于壓縮狀態(tài),可以自動刪除,占用硬盤空間較小,使用起來比較靈活,簡化了數據的備份工作,但進行完數據庫備份之后還應對數據庫備份進行測試,這樣才能有效地保護數據庫信息的安全和穩(wěn)定