天天看點

SQL2000資料庫脫機/隻讀/緊急模式 修複

SQL2000資料庫脫機/隻讀/緊急模式 修複

由于工作原因,經常與資料庫SQL2000打交道,不知不覺碰到很多奇奇怪怪的問題,其實也不奇怪,隻是我們

不了解而已,特獻出經驗,與大家分享,希望對大家有所幫助。

資料加路徑下,有兩個檔案,一個是 .mdf 另外一個是.ldf,其中,.mdf是資料檔案,裡面存放着資料資訊,

而.ldf檔案是日志檔案,但缺一不可,要是少了MDF檔案,那資料就丢失,麻煩就大了,相對于MDF來講,丢失

ldf檔案是小事情,但如果不懂得處理,估計有些人也要忙個半死。

現在以深圳泰格公司資料庫也講解。

深圳泰格超市軟體資料庫安裝後,SQL2000的DATA裡面也就有了兩個檔案,一個是tiger.mdf,另外一個當然就是

tiger.ldf檔案了。

但某些朋友在企業管理器裡面看到資料庫變成,脫機/隻讀/緊急模式   如下圖:

​​

SQL2000資料庫脫機/隻讀/緊急模式 修複

這樣管理軟體當然也運作不了,修複方法按以下步驟。

1,停止服務管理器。

2,進入資料庫安裝路徑,我是裝的D盤 (D:\Program Files\Microsoft SQL Server\MSSQL\Data),找到

tiger.ldf,删除 (這裡就以tiger為講解對象,其它資料庫當然要找到相對應的名稱進行删除)

3,啟動服務管理器

4,進入查詢分析器,

輸入以下語句

use master

go

sp_configure 'allow updates',1

reconfigure with override

注意輸正确,如果輸入後執行此語句,并且下面顯示

DBCC 執行完畢。如果 DBCC 輸出了錯誤資訊,請與系統管理者聯系。

已将配置選項 'allow updates' 從 0 改為 1。請運作 RECONFIGURE 語句以安裝。

說明執行正确,如果不顯示以上資訊,請檢查是否有輸錯!

此語句是的作用是:設定資料庫允許直接作業系統表。

5,執行第4步成功後, 接着設定資料庫為緊急修複模式。

update sysdatabases set status=-32768 where dbid=db_id('tiger')

下面顯示

(所影響的行數為 1 行)

6,繼續,重新資料庫日志(ldf)檔案。

dbcc rebuild_log('tiger','D:\Program Files\Microsoft SQL Server\MSSQL\Data\tiger.ldf')

這裡需要注意,我電腦資料庫檔案是裝在D盤,是以上面路徑是D盤,如果不同,要修改。

這樣,就重建了 tiger的ldf日志檔案。

下面顯示:

警告: 資料庫 'test' 的日志已重建。已失去事務的一緻性。應運作 DBCC CHECKDB 以驗證實體一緻性。

将必須重置資料庫選項,并且可能需要删除多餘的日志檔案。

7,現在檢查有沒有錯誤,再輸入文法

dbcc checkdb('tiger')

CHECKDB 發現了 0 個配置設定錯誤和 0 個一緻性錯誤(在資料庫 'tiger' 中)。

那說明第6步就建立成功沒問題了,下面就可以把SQL恢複模式了

8,設定資料庫為正常狀态

sp_dhoption 'tiger','dho use only','false'

9,最後一步,們要将步驟E中設定的“允許對系統目錄直接修改”一項恢複。因為平時直接作業系統表是一件比較危險的事情

恭喜你,資料庫修複完成!

到此結束,希望對大家有所幫助!