SQL數(shù)據(jù)庫置疑解決方案(原因、預(yù)防、修復(fù))附圖_第1頁
SQL數(shù)據(jù)庫置疑解決方案(原因、預(yù)防、修復(fù))附圖_第2頁
SQL數(shù)據(jù)庫置疑解決方案(原因、預(yù)防、修復(fù))附圖_第3頁
SQL數(shù)據(jù)庫置疑解決方案(原因、預(yù)防、修復(fù))附圖_第4頁
SQL數(shù)據(jù)庫置疑解決方案(原因、預(yù)防、修復(fù))附圖_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上SQL數(shù)據(jù)庫置疑解決方案一、數(shù)據(jù)庫置疑產(chǎn)生的原因1、SQL Server所在分區(qū)空間是否夠?數(shù)據(jù)庫文件大小是否達(dá)到最大文件限制?FAT32的格式只支持4G以內(nèi)的文件。2、數(shù)據(jù)庫文件損壞或被非正常刪除時(shí)出現(xiàn)這種情況。3、病毒防火墻的掃描也會(huì)引起數(shù)據(jù)庫置疑。4、當(dāng)SQL Server啟動(dòng)時(shí),將會(huì)嘗試獲得對(duì)數(shù)據(jù)庫文件的排他訪問權(quán),如果此時(shí)該文件被其他程序占用,或者遺失,數(shù)據(jù)庫將會(huì)被標(biāo)記為置疑。5、電腦非法關(guān)機(jī)也會(huì)造成數(shù)據(jù)庫置疑。6、電腦磁盤有壞道有可能造成數(shù)據(jù)庫置疑。二、數(shù)據(jù)庫置疑的預(yù)防1、數(shù)據(jù)庫存放的盤符,空間是否夠大,經(jīng)常檢查盤符的空間。2、數(shù)據(jù)庫存放的盤符的格式設(shè)置為

2、NTFS格式。3、進(jìn)行病毒清除時(shí),盡量把SQL服務(wù)停掉,再進(jìn)行檢查。4、盡量減少非正常關(guān)機(jī)。5、建議客戶購買后備電源。6、給客戶實(shí)施軟件之后一定要做好自動(dòng)備份。7、建議客戶每隔一定時(shí)間手動(dòng)備份一次。三、數(shù)據(jù)庫置疑的修復(fù)1、正常的備份、SQL數(shù)據(jù)庫恢復(fù)方式 正常方式下,我們要備份一個(gè)數(shù)據(jù)庫,首先要先將該數(shù)據(jù)庫從運(yùn)行的數(shù)據(jù)服務(wù)器中斷開,或者停掉整個(gè)數(shù)據(jù)庫服務(wù)器,然后復(fù)制文件。 卸下數(shù)據(jù)庫的命令:Sp_detach_db 數(shù)據(jù)庫名 連接數(shù)據(jù)庫的命令:Sp_attach_db或者sp_attach_single_file_db s_attach_db dbname = dbname, filename

3、1 = filename_n ,.16 sp_attach_single_file_db dbname = dbname, physname = physical_name 使用此方法可以正確恢復(fù)SQL Sever7.0和SQL Server 2000的數(shù)據(jù)庫文件,要點(diǎn)是備份的時(shí)候一定要將mdf和ldf兩個(gè)文件都備份下來,mdf文件是數(shù)據(jù)庫數(shù)據(jù)文件,ldf是數(shù)據(jù)庫日志文件。 例子: 假設(shè)數(shù)據(jù)庫為pdm,其數(shù)據(jù)文件為pdm_data.mdf,日志文件為pdm_log.ldf。下面我們討論一下如何備份、恢復(fù)該數(shù)據(jù)庫。 卸下數(shù)據(jù)庫:sp_detach_db 'pdm' 連接數(shù)據(jù)庫:s

4、p_attach_db 'pdm','C:Program FilesMicrosoft SQL ServerMSSQLDatapdm_data.mdf','C:Program FilesMicrosoft SQL ServerMSSQLDatapdm_log.ldf' sp_attach_single_file_db 'pdm','C:Program FilesMicrosoft SQL ServerMSSQLDatapdm_data.mdf' 2、只有mdf文件的恢復(fù)技術(shù) 由于種種原因,我們?nèi)绻?dāng)時(shí)僅僅備份了md

5、f文件,那么恢復(fù)起來就是一件很麻煩的事情了。 如果您的mdf文件是當(dāng)前數(shù)據(jù)庫產(chǎn)生的,那么很僥幸,也許你使用sp_attach_db或者sp_attach_single_file_db 可以恢復(fù)數(shù)據(jù)庫,但是會(huì)出現(xiàn)類似下面的提示信息 設(shè)備激活錯(cuò)誤。物理文件名 'C:Program FilesMicrosoft SQL ServerMSSQLdatapdm_Log.LDF' 可能有誤。 已創(chuàng)建名為 'C:Program FilesMicrosoft SQL ServerMSSQLDatapdm_log.LDF' 的新日志文件。但是,如果您的數(shù)據(jù)庫文件是從其他計(jì)算機(jī)上復(fù)

6、制過來的,那么很不幸,也許上述辦法就行不通了。你也許會(huì)得到類似下面的錯(cuò)誤信息 服務(wù)器: 消息 1813,級(jí)別 16,狀態(tài) 2,行 1 未能打開新數(shù)據(jù)庫 'pdm'。CREATE DATABASE 將終止。 設(shè)備激活錯(cuò)誤。物理文件名 'd:pdm_log.LDF' 可能有誤。 怎么辦呢?別著急,下面我們舉例說明恢復(fù)辦法?,F(xiàn)在我從其他機(jī)器上拷貝回來了數(shù)據(jù)庫文件pdm_Data.MDF到本計(jì)算機(jī)上,存放到了E盤的一個(gè)文件夾里 A我們使用SQL Server企業(yè)管理器建立一個(gè)供恢復(fù)使用的數(shù)據(jù)庫pdm,存放在E盤(不要與拷貝回來的數(shù)據(jù)庫放到一個(gè)文件夾就行)。B停掉數(shù)據(jù)庫服

7、務(wù)器。 C將剛才生成的數(shù)據(jù)庫的日志文件pdm_log.ldf刪除,用要恢復(fù)的數(shù)據(jù)庫mdf文件覆蓋剛才生成的數(shù)據(jù)庫數(shù)據(jù)文件pdm_data.mdf。 D啟動(dòng)數(shù)據(jù)庫服務(wù)器。此時(shí)會(huì)看到數(shù)據(jù)庫pdm的狀態(tài)為“置疑”。這時(shí)候不能對(duì)此數(shù)據(jù)庫進(jìn)行任何操作。 E設(shè)置數(shù)據(jù)庫允許直接操作系統(tǒng)表。此操作可以在SQL Server Enterprise Manager里面選擇數(shù)據(jù)庫服務(wù)器,按右鍵,選擇“屬性”,在“服務(wù)器設(shè)置”頁面中將“允許對(duì)系統(tǒng)目錄直接修改”一項(xiàng)選中。也可以用SQL查詢分析器執(zhí)行如下語句來實(shí)現(xiàn)。 use master go sp_configure 'allow updates',1

8、 go reconfigure with override go F設(shè)置pdm為緊急修復(fù)模式 ,運(yùn)行SQL查詢分析器執(zhí)行如下語句來實(shí)現(xiàn)。update sysdatabases set status=-32768 where dbid=DB_ID('pdm') 此時(shí)可以在SQL Server Enterprise Manager里面看到該數(shù)據(jù)庫處于“只讀置疑脫機(jī)緊急模式”可以看到數(shù)據(jù)庫里面的表,但是僅僅有系統(tǒng)表 G下面執(zhí)行真正的恢復(fù)操作,重建數(shù)據(jù)庫日志文件 dbcc rebuild_log('pdm','E:pdm_log.ldf') 執(zhí)行過程中,

9、如果遇到下列提示信息: 服務(wù)器: 消息 5030,級(jí)別 16,狀態(tài) 1,行 1 未能排它地鎖定數(shù)據(jù)庫以執(zhí)行該操作。 DBCC 執(zhí)行完畢。如果 DBCC 輸出了錯(cuò)誤信息,請(qǐng)與系統(tǒng)管理員聯(lián)系。 說明您的其他程序正在使用該數(shù)據(jù)庫,如果剛才您在F步驟中使用SQL Server Enterprise Manager打開了pdm庫的系統(tǒng)表,那么退出SQL Server Enterprise Manager就可以了。 正確執(zhí)行完成的提示應(yīng)該類似于: 警告: 數(shù)據(jù)庫 'pdm' 的日志已重建。已失去事務(wù)的一致性。應(yīng)運(yùn)行 DBCC CHECKDB 以驗(yàn)證物理一致性。將必須重置數(shù)據(jù)庫選項(xiàng),并且可能

10、需要?jiǎng)h除多余的日志文件。 DBCC 執(zhí)行完畢。如果 DBCC 輸出了錯(cuò)誤信息,請(qǐng)與系統(tǒng)管理員聯(lián)系。 此時(shí)打開在SQL Server Enterprise Manager里面會(huì)看到數(shù)據(jù)庫的狀態(tài)為“只供DBO使用”。此時(shí)可以訪問數(shù)據(jù)庫里面的用戶表了。 H驗(yàn)證數(shù)據(jù)庫一致性(數(shù)據(jù)庫較大時(shí)會(huì)耗費(fèi)一些時(shí)間,此步可省略) dbcc checkdb('pdm') 一般執(zhí)行結(jié)果如下: CHECKDB 發(fā)現(xiàn)了 0 個(gè)分配錯(cuò)誤和 0 個(gè)一致性錯(cuò)誤(在數(shù)據(jù)庫 'pdm' 中)。DBCC 執(zhí)行完畢。如果 DBCC 輸出了錯(cuò)誤信息,請(qǐng)與系統(tǒng)管理員聯(lián)系。I設(shè)置數(shù)據(jù)庫為正常狀態(tài) sp_dboption 'pdm','dbo use only','false' 如果沒有出錯(cuò),那么恭喜,現(xiàn)在就可以正常的使用恢復(fù)后的數(shù)據(jù)庫啦。 J最后一步,我們要將步驟E中設(shè)置的“允許對(duì)系統(tǒng)目錄直接修改”一項(xiàng)恢復(fù)。因?yàn)槠綍r(shí)直接操作系統(tǒng)表

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論