數(shù)據(jù)庫(kù)脫機(jī)/只讀/緊急模式 修復(fù)
由于工作原因,經(jīng)常與數(shù)據(jù)庫(kù)打交道,不知不覺(jué)碰到很多奇奇怪怪的問(wèn)題,其實(shí)也不奇怪sql2000啟動(dòng)后又停止,只是我們
不了解而已,特獻(xiàn)出經(jīng)驗(yàn),與大家分享,希望對(duì)大家有所幫助。
數(shù)據(jù)加路徑下,有兩個(gè)文件,一個(gè)是 .mdf 另外一個(gè)是.ldf,其中,.mdf是數(shù)據(jù)文件,里面存放著數(shù)據(jù)信息,
而.ldf文件是日志文件,但缺一不可,要是少了MDF文件,那數(shù)據(jù)就丟失,麻煩就大了,相對(duì)于MDF來(lái)講,丟失
ldf文件是小事情,但如果不懂得處理,估計(jì)有些人也要忙個(gè)半死。
現(xiàn)在以深圳泰格公司數(shù)據(jù)庫(kù)也講解。
深圳泰格超市軟件數(shù)據(jù)庫(kù)安裝后,的DATA里面也就有了兩個(gè)文件,一個(gè)是tiger.mdf,另外一個(gè)當(dāng)然就是
tiger.ldf文件了。
但某些朋友在企業(yè)管理器里面看到數(shù)據(jù)庫(kù)變成,脫機(jī)/只讀/緊急模式 如下圖:
??
??
這樣管理軟件當(dāng)然也運(yùn)行不了,修復(fù)方法按以下步驟。
1,停止服務(wù)管理器。
2,進(jìn)入數(shù)據(jù)庫(kù)安裝路徑,我是裝的D盤 (D:\ Files\ SQL \MSSQL\Data),找到
tiger.ldf,刪除 (這里就以tiger為講解對(duì)象,其它數(shù)據(jù)庫(kù)當(dāng)然要找到相對(duì)應(yīng)的名稱進(jìn)行刪除)
3,啟動(dòng)服務(wù)管理器
4,進(jìn)入查詢分析器,
輸入以下語(yǔ)句
use
go
'allow ',1
go
with
go
注意輸正確,如果輸入后執(zhí)行此語(yǔ)句,并且下面顯示
DBCC 執(zhí)行完畢。如果 DBCC 輸出了錯(cuò)誤信息,請(qǐng)與系統(tǒng)管理員聯(lián)系。
已將配置選項(xiàng) 'allow ' 從 0 改為 1。請(qǐng)運(yùn)行 語(yǔ)句以安裝。
說(shuō)明執(zhí)行正確,如果不顯示以上信息,請(qǐng)檢查是否有輸錯(cuò)!
此語(yǔ)句是的作用是:設(shè)置數(shù)據(jù)庫(kù)允許直接操作系統(tǒng)表。
5,執(zhí)行第4步成功后, 接著設(shè)置數(shù)據(jù)庫(kù)為緊急修復(fù)模式。
set =-32768 where dbid=db_id('tiger')
下面顯示
(所影響的行數(shù)為 1 行)
6,繼續(xù),重新數(shù)據(jù)庫(kù)日志(ldf)文件。
dbcc ('tiger','D:\ Files\ SQL \MSSQL\Data\tiger.ldf')
這里需要注意,我電腦數(shù)據(jù)庫(kù)文件是裝在D盤,所以上面路徑是D盤,如果不同,要修改。
這樣,就重建了 tiger的ldf日志文件。
下面顯示:
警告: 數(shù)據(jù)庫(kù) 'test' 的日志已重建。已失去事務(wù)的一致性。應(yīng)運(yùn)行 DBCC 以驗(yàn)證物理一致性。
將必須重置數(shù)據(jù)庫(kù)選項(xiàng),并且可能需要?jiǎng)h除多余的日志文件。
7sql2000啟動(dòng)后又停止,現(xiàn)在檢查有沒(méi)有錯(cuò)誤,再輸入語(yǔ)法
dbcc ('tiger')
下面顯示
發(fā)現(xiàn)了 0 個(gè)分配錯(cuò)誤和 0 個(gè)一致性錯(cuò)誤(在數(shù)據(jù)庫(kù) 'tiger' 中)。
那說(shuō)明第6步就建立成功沒(méi)問(wèn)題了,下面就可以把SQL恢復(fù)模式了
8,設(shè)置數(shù)據(jù)庫(kù)為正常狀態(tài)
'tiger','dho use only','false'
9,最后一步,們要將步驟E中設(shè)置的“允許對(duì)系統(tǒng)目錄直接修改”一項(xiàng)恢復(fù)。因?yàn)槠綍r(shí)直接操作系統(tǒng)表是一件比較危險(xiǎn)的事情
恭喜你,數(shù)據(jù)庫(kù)修復(fù)完成!
到此結(jié)束,希望對(duì)大家有所幫助!