張錫憲,楊曉生,黃民改
河南省工業(yè)學(xué)校(450002)
設(shè)備管理系統(tǒng)數(shù)據(jù)恢復(fù)設(shè)計(jì)與實(shí)現(xiàn)
張錫憲,楊曉生,黃民改
河南省工業(yè)學(xué)校(450002)
對(duì)數(shù)據(jù)庫(kù)系統(tǒng)中通常可發(fā)生的故障進(jìn)行了分析并提出了恢復(fù)的實(shí)現(xiàn)技術(shù)。
設(shè)備管理;數(shù)據(jù);恢復(fù);故障;數(shù)據(jù)庫(kù)
設(shè)備管理系統(tǒng)可以把現(xiàn)有的管理機(jī)制與計(jì)算機(jī)技術(shù)完美的結(jié)合,使學(xué)校的設(shè)備管理業(yè)務(wù)更加規(guī)范,管理手段更加先進(jìn),科學(xué)地使用教學(xué)科研設(shè)備。學(xué)校教學(xué)設(shè)備管理系統(tǒng)界面直觀,操作簡(jiǎn)單,使用方便;數(shù)據(jù)具有共享性、獨(dú)立性,保證數(shù)據(jù)的完整性、安全性,達(dá)到可移植的目的。將大大提高設(shè)備使用率,降低學(xué)校管理成本,使教學(xué)設(shè)備管理水平達(dá)到一個(gè)新高度。
在學(xué)校教學(xué)設(shè)備管理系統(tǒng)的實(shí)際應(yīng)用中,盡管數(shù)據(jù)庫(kù)系統(tǒng)中采取了各種保護(hù)措施來(lái)防止數(shù)據(jù)庫(kù)的安全性和完整性被破壞,保證并發(fā)事務(wù)的正確執(zhí)行,但是計(jì)算機(jī)系統(tǒng)中硬件的故障、軟件的錯(cuò)誤、操作員的失誤以及惡意的破壞仍是不可避免的,這些故障輕則造成運(yùn)行事務(wù)非正常中斷,影響數(shù)據(jù)庫(kù)中數(shù)據(jù)的正確性;重則破壞數(shù)據(jù)庫(kù),使數(shù)據(jù)庫(kù)中全部或部分?jǐn)?shù)據(jù)丟失。教學(xué)設(shè)備管理系統(tǒng)數(shù)據(jù)恢復(fù)的設(shè)計(jì)與實(shí)現(xiàn)是數(shù)據(jù)庫(kù)的一個(gè)重要組成部分,對(duì)系統(tǒng)的運(yùn)行效率、可靠程度起著重要作用,是衡量系統(tǒng)性能優(yōu)劣的重要指標(biāo)。如何恢復(fù)原有的數(shù)據(jù)庫(kù)數(shù)據(jù)就成為系統(tǒng)設(shè)計(jì)中一個(gè)極其重要的問(wèn)題了,也是保證數(shù)據(jù)庫(kù)正常運(yùn)行的重要支撐。
數(shù)據(jù)庫(kù)系統(tǒng)中發(fā)生的故障通常有4種:1)事務(wù)內(nèi)部的故障;2)系統(tǒng)故障;3)介質(zhì)故障;4)計(jì)算機(jī)病毒。
針對(duì)事務(wù)內(nèi)部的故障進(jìn)行分析,有的故障是可以通過(guò)事務(wù)本身發(fā)現(xiàn)的;有的是非預(yù)期的,不能由事務(wù)程序處理的。例如,教學(xué)設(shè)備的轉(zhuǎn)賬事務(wù),這個(gè)事務(wù)把一部設(shè)備從A實(shí)驗(yàn)室轉(zhuǎn)給B實(shí)驗(yàn)室。
以上程序所包括的2個(gè)更新操作要么全部完成,要么全部不做。否則就會(huì)使數(shù)據(jù)庫(kù)處于不一致?tīng)顟B(tài),例如A實(shí)驗(yàn)室設(shè)備數(shù)量減少了而B(niǎo)實(shí)驗(yàn)室設(shè)備數(shù)量沒(méi)有增加。這樣事務(wù)內(nèi)部故障更多是非預(yù)期的,是不能有應(yīng)用程序來(lái)處理的。如:運(yùn)算溢出、并發(fā)事務(wù)發(fā)生死鎖而被選中撤銷該事務(wù)、違反了某些完整性限制等,需要數(shù)據(jù)恢復(fù)返回操作。
系統(tǒng)故障是指造成系統(tǒng)停止運(yùn)行的任何事件,使得系統(tǒng)要重新啟動(dòng)。這類故障影響正常運(yùn)行的所有事務(wù),但不破壞數(shù)據(jù)庫(kù)。發(fā)生系統(tǒng)故障時(shí),一些尚未完成的事務(wù)的結(jié)果可能已送入物理數(shù)據(jù)庫(kù),從而造成數(shù)據(jù)庫(kù)可能處在不正確的狀態(tài)??梢圆捎们宄@些事務(wù)對(duì)數(shù)據(jù)庫(kù)的修改,來(lái)保證數(shù)據(jù)的統(tǒng)一性。
介質(zhì)故障稱為硬故障。硬故障是指外存故障,如磁盤損壞、磁頭碰傷、瞬間強(qiáng)磁場(chǎng)干擾等。需要數(shù)據(jù)恢復(fù)和備份數(shù)據(jù)操作。
計(jì)算機(jī)病毒是一種人為的故障或破壞,是一種計(jì)算機(jī)程序,并對(duì)計(jì)算機(jī)系統(tǒng)包括數(shù)據(jù)庫(kù)進(jìn)行破壞。這需要清除病毒并數(shù)據(jù)恢復(fù)操作。
在備份數(shù)據(jù)庫(kù)時(shí)應(yīng)采用的策略是:進(jìn)行數(shù)據(jù)庫(kù)完整備份,并且不依賴事務(wù)日志備份而進(jìn)行數(shù)據(jù)庫(kù)恢復(fù),那么可以進(jìn)行完整數(shù)據(jù)庫(kù)備份之后帶有該選項(xiàng)的BACKUP命令,從而清除事務(wù)日志中非活動(dòng)部分。
SQL Server數(shù)據(jù)庫(kù)文件恢復(fù)技術(shù)SQL Server數(shù)據(jù)庫(kù)備份有兩種方式:一種是使用BACKUP DATABASE將數(shù)據(jù)庫(kù)文件備份出去;另外一種就是直接拷貝數(shù)據(jù)庫(kù)文件mdf和日志文件ldf的方式。下面將主要討論一下后者的備份與恢復(fù)。
正常方式下,我們要備份一個(gè)數(shù)據(jù)庫(kù),首先要先將該數(shù)據(jù)庫(kù)從運(yùn)行的數(shù)據(jù)服務(wù)器中斷開(kāi),或者停掉整個(gè)數(shù)據(jù)庫(kù)服務(wù)器,然后復(fù)制文件。
卸下數(shù)據(jù)庫(kù)的命令:Sp_detach_db“河南省工業(yè)學(xué)校教學(xué)設(shè)備管理系統(tǒng)”。
連接數(shù)據(jù)庫(kù)的命令:Sp_attach_db或者sp_attach_sin-gle_file_db。
使用此方法可以正確恢復(fù)SQL Sever的數(shù)據(jù)庫(kù)文件,要點(diǎn)是備份的時(shí)候一定要將mdf和ldf兩個(gè)文件都備份下來(lái),mdf文件是數(shù)據(jù)庫(kù)數(shù)據(jù)文件,ldf是數(shù)據(jù)庫(kù)日志文件。
例如:數(shù)據(jù)庫(kù)為“河南省工業(yè)學(xué)校教學(xué)設(shè)備管理系統(tǒng)”,其數(shù)據(jù)文件為 “河南省工業(yè)學(xué)校教學(xué)設(shè)備管理系統(tǒng)”_data.mdf,日志文件為“河南省工業(yè)學(xué)校教學(xué)設(shè)備管理系統(tǒng)”_log.ldf。下面我們討論一下如何備份、恢復(fù)該數(shù)據(jù)庫(kù)。
1)卸下數(shù)據(jù)庫(kù):sp_detach_db'河南省工業(yè)學(xué)校教學(xué)設(shè)備管理系統(tǒng)'。
2)連接數(shù)據(jù)庫(kù):sp_attach_db'河南省工業(yè)學(xué)校教學(xué)設(shè)備管理系統(tǒng)','C:Program FilesMicrosoft SQL ServerMSSQLData河南省工業(yè)學(xué)校教學(xué)設(shè)備管理系統(tǒng)_data.mdf','C:Program FilesMicrosoft SQL ServerMSSQLData河南省工業(yè)學(xué)校教學(xué)設(shè)備管理系統(tǒng)_log.ldf'。
3)sp_attach_single_file_db'河南省工業(yè)學(xué)校教學(xué)設(shè)備管理系統(tǒng)','C:Program FilesMicrosoft SQL ServerMSSQLData河南省工業(yè)學(xué)校教學(xué)設(shè)備管理系統(tǒng)_data.mdf'。
如果mdf文件是當(dāng)前數(shù)據(jù)庫(kù)產(chǎn)生的,那么使用sp_attach_db或者sp_attach_single_file_db可以恢復(fù)數(shù)據(jù)庫(kù),具體的操作不再例舉。
學(xué)校教學(xué)設(shè)備管理系統(tǒng)提高了實(shí)驗(yàn)教學(xué)的管理水平,使實(shí)驗(yàn)教學(xué)管理向科學(xué)化、規(guī)范化、信息化發(fā)展。使教學(xué)設(shè)備的增減、查詢、存儲(chǔ)、處理、分發(fā)等實(shí)現(xiàn)辦公自動(dòng)化,使廣大設(shè)備管理人員從繁雜的事務(wù)堆中解放出來(lái),提高設(shè)備管理工作的質(zhì)量和效益,減少差錯(cuò),減輕勞動(dòng)強(qiáng)度,從而為提高學(xué)校整體管理水平給予保障。恢復(fù)系統(tǒng)數(shù)據(jù)的方法能基本保證實(shí)現(xiàn)教學(xué)設(shè)備管理系統(tǒng)的數(shù)據(jù)具有完整特性,但還需要系統(tǒng)管理人員不斷維護(hù)和完善系統(tǒng)數(shù)據(jù)。恢復(fù)系統(tǒng)數(shù)據(jù)的方法具有一定的通用性,可以進(jìn)一步推廣應(yīng)用到其它設(shè)備的數(shù)據(jù)化管理。