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