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



代碼中備份的刪除間隔天數可以自由設置,可以設置成1d,也可以設置成7d。
(3)添加計劃,按工作的實際情況設置頻率、時間等參數,這樣代理作業就可以按照使用者的意愿去執行。
進行數據庫代理作業設置之后,由于所備份文件處于壓縮狀態,可以自動刪除,占用硬盤空間較小,使用起來比較靈活,簡化了數據的備份工作,但進行完數據庫備份之后還應對數據庫備份進行測試,這樣才能有效地保護數據庫信息的安全和穩定