溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mssql數(shù)據(jù)庫系統(tǒng)崩潰的一般處理步驟與方法

發(fā)布時間:2021-09-17 10:32:57 來源:億速云 閱讀:182 作者:chen 欄目:數(shù)據(jù)庫

本篇內(nèi)容介紹了“mssql數(shù)據(jù)庫系統(tǒng)崩潰的一般處理步驟與方法”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

mssql數(shù)據(jù)庫系統(tǒng)崩潰后的一般處理步驟 情況描述: SQLServer2000崩潰,重新安裝數(shù)據(jù)庫。 有以下準(zhǔn)備: 1,三個系統(tǒng)庫(master,msdb,model)的完全備份: 2兩個用戶數(shù)據(jù)庫(user01,user02)的備份(周日的完全備份+除周日外每天的差異備份): 三個系統(tǒng)數(shù)據(jù)庫是早期備份的,之間沒有更新過帳號信息,沒有增減過作業(yè)等等。 兩個用戶數(shù)據(jù)庫在上周日晚做過完全備份(user01.bak和user02.bak) 準(zhǔn)備重新安裝數(shù)據(jù)庫,希望能一次性恢復(fù)到用戶數(shù)據(jù)庫最后一個備份前的狀態(tài)。 常規(guī)恢復(fù)過程大致如下 1.備份可用的數(shù)據(jù),包含所有系統(tǒng)數(shù)據(jù)庫和用戶數(shù)據(jù)庫的數(shù)據(jù)文件和日志文件(*.mdf/ldf/ndf) 2.卸載原來的安裝 3.系統(tǒng)表查找和刪除所有的MSSQLServer項 4.磁盤上刪除安裝SQLSErver產(chǎn)生的所有文件 5.重新安裝SQLServer,所需安裝的補(bǔ)丁的版本要求保持與備份系統(tǒng)數(shù)據(jù)庫時安裝的補(bǔ)丁版本一致 6.單用戶模式下恢復(fù)master數(shù)據(jù)庫 7.恢復(fù)其他系統(tǒng)數(shù)據(jù)庫 8.恢復(fù)用戶數(shù)據(jù)庫 可以做的嘗試 如果時間比較充分,而且想盡量恢復(fù)數(shù)據(jù)到最近的時間點,可以在上述步驟中做下面的嘗試 1.把6,7兩步改為: a.停止MSSQL服務(wù) b.用步驟1備份的系統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)文件和日志文件替換安裝后生成的系統(tǒng)數(shù)據(jù)庫的對應(yīng)文件 c.建立與SQLServer系統(tǒng)崩潰之前一樣的用戶數(shù)據(jù)庫的存放目錄,并且把用戶數(shù)據(jù)庫文件按原來的位置存放 d.啟動MSSQL服務(wù) e.如果MSSQL服務(wù)成功,在企業(yè)管理看看用戶數(shù)據(jù)庫有沒有置疑,如果沒有置疑,則其他操作都不用做了,數(shù)據(jù)已經(jīng)恢復(fù) 注意: 在做上面的步驟b之前,先備份準(zhǔn)備覆蓋的文件 2.如果步驟1的嘗試不成功,則再做下面的嘗試,把步驟8修改為下面的: a.停止MSSQL服務(wù) b.用備份的文件還原被覆蓋的文件 c.嘗試用附加的方式恢復(fù)用戶數(shù)據(jù)庫 d.如果成功,則修復(fù)各用戶數(shù)據(jù)庫中的孤立用戶 恢復(fù)過程會涉及到的一些具體處理 1.恢復(fù)系統(tǒng)數(shù)據(jù)庫: 在SQLServer數(shù)據(jù)庫中,系統(tǒng)信息存儲在系統(tǒng)數(shù)據(jù)庫中,主要的系統(tǒng)數(shù)據(jù)庫包括: master-從整體上控制用戶數(shù)據(jù)庫和SQLServer操作,在創(chuàng)建了任何用戶定義的對象后,都要備份它 model-為新數(shù)據(jù)庫提供模版和原型 msdb-包含了有關(guān)作業(yè)、報警及操作員等信息 如果包含系統(tǒng)數(shù)據(jù)庫的介質(zhì)變了,那么必須重建系統(tǒng)數(shù)據(jù)庫,如果你仍然可以啟動SQLServer服務(wù),則可以通過RESTORE語句從系統(tǒng)數(shù)據(jù)庫的備份中恢復(fù)數(shù)據(jù)庫。 如果master壞了,不能啟動系統(tǒng),可以按照下面步驟進(jìn)行恢復(fù) 1.重建系統(tǒng)數(shù)據(jù)庫運行c:\mssql7\binn\rebuildm.exe,按照提示進(jìn)行即可, 過程中需要系統(tǒng)數(shù)據(jù)庫樣本的路徑,可在安裝光盤中找到; 2重建系統(tǒng)數(shù)據(jù)庫后,啟動SQLServer服務(wù),用系統(tǒng)數(shù)據(jù)庫的備份恢復(fù)數(shù)據(jù)庫 就行了通?;謴?fù)順序為master->msdb->model 在恢復(fù)master的備份時要注意:必須在單用戶(singleuser)模式下進(jìn)行 進(jìn)入單用戶模式的方法: a.在命令行模式下輸入:sqlservr-c-f-m或者輸入sqlservr-m 其中:-c可以縮短啟動時間,SQLServer不作為WindowsNT的服務(wù)啟動 -f用最小配置啟動SQLServer -m單用戶模式啟動SQLServer b.可以在控制面板-服務(wù)-MSSQLServer的啟動參數(shù)中輸入-c-f-m或者輸入-m,點擊開始 3.進(jìn)行master數(shù)據(jù)庫的恢復(fù) a.直接進(jìn)入查詢分析器,有個提示不要理會它 輸入恢復(fù)語句進(jìn)行數(shù)據(jù)庫恢復(fù): RESTOREDATABASEmasterfromdisk='c:\具體的備份文件名' b.或者用這個,在命令提示符下輸入,注意大小寫 使用"windows身份驗證"的,輸入:isql/E 使用"sqlserver和windows身份驗證"的,輸入:isql/U"用戶名"/P"密碼" 然后在出現(xiàn)的提示符下輸入(注意1>,2>是提示符): 1>RESTOREDATABASEmasterfromdisk='c:\具體的備份文件名' 2>GO 2.還原數(shù)據(jù)庫的具體步驟: 1.恢復(fù)最近一次的完整備份 企業(yè)管理器--右鍵"數(shù)據(jù)庫"--所有任務(wù)--還原數(shù)據(jù)庫 --"還原為數(shù)據(jù)庫庫"中輸入還原后的數(shù)據(jù)庫名,設(shè)為:test --還原選擇"從設(shè)備"--選擇設(shè)備--添加--添加你的備份文件 --確定,回到數(shù)據(jù)庫還原的界面 --"還原備份集",選擇"數(shù)據(jù)庫--完全" --選項--將"移至物理文件名"中的物理文件名修改為你的數(shù)據(jù)文件要存放的文件名 --如果要還原的數(shù)據(jù)庫已經(jīng)存在,選擇"在現(xiàn)有數(shù)據(jù)庫上強(qiáng)制還原" --"恢復(fù)完成狀態(tài)",選擇"使數(shù)據(jù)庫不再運行,但能還原其它事務(wù)日志" --確定 --或用SQL語句: RESTOREDATABASE數(shù)據(jù)庫名 FROMDISK='c:\你的完全備份文件名' WITHNORECOVERY 2.恢復(fù)完全備份后,最近一次的差異備份(如果有的話) 企業(yè)管理器--右鍵"數(shù)據(jù)庫"--所有任務(wù)--還原數(shù)據(jù)庫 --"還原為數(shù)據(jù)庫庫"中選擇數(shù)據(jù)庫名:test --還原選擇"從設(shè)備"--選擇設(shè)備--添加--添加你的備份文件 --確定,回到數(shù)據(jù)庫還原的界面 --"還原備份集",選擇"數(shù)據(jù)庫--差異" --"恢復(fù)完成狀態(tài)",選擇"使數(shù)據(jù)庫不再運行,但能還原其它事務(wù)日志" --確定 --或用SQL語句: --或用SQL語句: RESTOREDATABASE數(shù)據(jù)庫名 FROMDISK='c:\你的差異備份文件名' WITHNORECOVERY 3.按時間先后,恢復(fù)差異備份后(如果沒有差異備份,則是完全備份)的所有日志備份 企業(yè)管理器--右鍵"數(shù)據(jù)庫"--所有任務(wù)--還原數(shù)據(jù)庫 --"還原為數(shù)據(jù)庫庫"中選擇數(shù)據(jù)庫名:test --還原選擇"從設(shè)備"--選擇設(shè)備--添加--添加你的備份文件 --確定,回到數(shù)據(jù)庫還原的界面 --"還原備份集",選擇"事務(wù)日志" --"恢復(fù)完成狀態(tài)" 如果是恢復(fù)最后一個日志文件,選擇"使數(shù)據(jù)庫可以繼續(xù)運行,但無法還原其它事務(wù)日志" 否則選擇"使數(shù)據(jù)庫不再運行,但能還原其它事務(wù)日志" --確定 --或用SQL語句: RESTOREDATABASE數(shù)據(jù)庫名 FROMDISK='c:\你的日志文件名' WITHRECOVERY 3.解決孤立用戶: 1.查看某個數(shù)據(jù)庫的孤立用戶: USE庫名 EXECsp_change_users_login'Report' 2.自動修復(fù)某個孤立用戶: USE庫名 EXECsp_change_users_login'Auto_Fix','孤立用戶名',NULL,'密碼' --密碼指用戶對應(yīng)的登錄不存在時,系統(tǒng)自動建立登錄,為登錄分配的密碼

“mssql數(shù)據(jù)庫系統(tǒng)崩潰的一般處理步驟與方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI