鄭 炎,蔡小艷,朱成文,孟憲宇,曾垂振
(武漢軍械士官學(xué)校,武漢 430075)
SQL Server數(shù)據(jù)庫(kù)是當(dāng)前在各類(lèi)信息管理系統(tǒng)中使用最多的存儲(chǔ)與管理數(shù)據(jù)的平臺(tái),對(duì)系統(tǒng)的各種操作都是以數(shù)據(jù)庫(kù)為中心的,對(duì)數(shù)據(jù)庫(kù)的管理和日常維護(hù)是保障系統(tǒng)正常運(yùn)行和數(shù)據(jù)安全的重要工作。為了確保信息管理系統(tǒng)使用方便、安全可靠,系統(tǒng)通常需要提供了數(shù)據(jù)備份和恢復(fù)功能?;诖耍疚募唇榻B了使用.Net語(yǔ)言實(shí)現(xiàn)系統(tǒng)中SQL Server數(shù)據(jù)庫(kù)中數(shù)據(jù)的備份與恢復(fù)。
將SQL Server數(shù)據(jù)庫(kù)中表和數(shù)據(jù)備份的控制流程步驟如下:
(1)打開(kāi)數(shù)據(jù)備份界面;
(2)選擇備份數(shù)據(jù)庫(kù)文件的存放路徑;
(3)創(chuàng)建用于備份的SQL語(yǔ)句;
(4)執(zhí)行SQL Backup備份命令,完成備份。
恢復(fù)SQL Server數(shù)據(jù)庫(kù)中表和數(shù)據(jù)的控制流程如圖1所示,步驟如下:
(1)打開(kāi)數(shù)據(jù)恢復(fù)界面;
(2)選擇要恢復(fù)的數(shù)據(jù)文件;
(3)關(guān)閉所有正連接待恢復(fù)數(shù)據(jù)庫(kù)的進(jìn)程;
(4)創(chuàng)建用于恢復(fù)的SQL語(yǔ)句;
圖1 數(shù)據(jù)恢復(fù)控制流程圖
(5)通過(guò)SQL Restore方法運(yùn)行恢復(fù)命令,完成恢復(fù)。
數(shù)據(jù)備份主要用來(lái)對(duì)數(shù)據(jù)庫(kù)中的表和數(shù)據(jù)進(jìn)行備份。其具體過(guò)程如下:
(1)通過(guò)點(diǎn)擊“備份”按鈕,初始化frmBackup類(lèi),調(diào)起數(shù)據(jù)備份界面;
(2)通過(guò)點(diǎn)擊“瀏覽”按鈕,選擇備份數(shù)據(jù)庫(kù)文件的存放路徑;
(3)通過(guò)SQL Server方法建立SERVER對(duì)象;
(4)創(chuàng)建一條包含備份文件的backup SQL語(yǔ)句;
(5)執(zhí)行SQL Backup備份命令,完成備份。
數(shù)據(jù)備份sql語(yǔ)句的語(yǔ)法格式為:backup database 待備份的數(shù)據(jù)庫(kù)名 to disk='選擇要保存的路徑備份文件名.bak'。備份文件的后綴名為.bak。部分程序示例如下:
數(shù)據(jù)恢復(fù)主要用來(lái)對(duì)數(shù)據(jù)庫(kù)中的表和數(shù)據(jù)進(jìn)行恢復(fù)。其具體過(guò)程如下:
(1)通過(guò)點(diǎn)擊“恢復(fù)”按鈕,初始化frmRestore類(lèi),調(diào)起數(shù)據(jù)恢復(fù)界面;
(2)通過(guò)點(diǎn)擊“打開(kāi)”按鈕,選擇要恢復(fù)的數(shù)據(jù)庫(kù)文件;
(3)創(chuàng)建SQL語(yǔ)句查詢(xún)出所有正連接待恢復(fù)數(shù)據(jù)庫(kù)的進(jìn)程;
(4)調(diào)用KILL命令強(qiáng)行關(guān)閉所有正連接待恢復(fù)數(shù)據(jù)庫(kù)的進(jìn)程;
(5)建立SERVER對(duì)象,創(chuàng)建用于恢復(fù)的SQL語(yǔ)句;
(6)通過(guò)SQL Restore方法運(yùn)行恢復(fù)命令,完成恢復(fù)。
數(shù)據(jù)恢復(fù)語(yǔ)句格式為:restore database 數(shù)據(jù)庫(kù)名字 from disk='保存路徑數(shù)據(jù)庫(kù)名.bak'。部分程序示例如下:
在存儲(chǔ)有大量重要數(shù)據(jù)的系統(tǒng)中,為了防止因各類(lèi)意外導(dǎo)致的數(shù)據(jù)丟失和損壞,減少不必要的人力、物力損失,經(jīng)常對(duì)數(shù)據(jù)進(jìn)行備份非常重要。本文提出的方法是通過(guò)在軟件、應(yīng)用程序?qū)訉?duì)數(shù)據(jù)庫(kù)的操作實(shí)現(xiàn)了封裝,把對(duì)數(shù)據(jù)庫(kù)的備份與恢復(fù)操作集成到軟件系統(tǒng)中,極大的方便了操作人員,同時(shí)也加強(qiáng)的系統(tǒng)數(shù)據(jù)的穩(wěn)定性。
[1]王小科,梁冰,呂雙.Visual C#項(xiàng)目開(kāi)發(fā)實(shí)例自學(xué)手冊(cè)[K].北京:人民郵電出版社,2008(08).
[2]明日科技,張躍廷,許文斌.C#數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)完全手冊(cè)[M].北京:人民郵電出版社,2006(12).
[3]肖輝輝,段艷明.用C#.NET實(shí)現(xiàn)對(duì)SQL Server數(shù)據(jù)庫(kù)的備份與還原[J].軟件導(dǎo)刊,2009,8(06):167-169.