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