1. 程式人生 > >SQL Server 2005 無日誌檔案附加資料庫

SQL Server 2005 無日誌檔案附加資料庫

雖然目前本人用的是2008R2,但很多客戶仍然還是2005版本的,所以還是將這篇文章轉過來,以備不時之需。在2008下附加2005的mdf應該也可以用得上的。以下是原文:

公司網站運營兩年多了,日誌檔案超級大,在重灌系統的時候,為了省事,就沒有備份日誌檔案,而且是沒有分離就把日誌檔案給刪掉了(下次一定要記得先分離再刪日誌檔案)。結果造成資料庫怎麼都附加不上。出現錯誤。

解決辦法:

1、新建一個同名資料庫。

2、停止資料庫服務,覆蓋新建的資料庫主檔案(小技巧:最好放在同一個磁碟裡面,把新建的資料庫主檔案刪掉或移開,再把要恢復的資料庫主檔案剪下過去,這樣就可以節省時間。)

3、啟動資料庫服務,資料庫變為置疑或可疑狀態。然後在查詢分析器中執行:

alter database 無日誌檔案的資料庫名稱 set emergency

設定為緊急狀態。

4、再執行:

alter database 無日誌檔案的資料庫名稱 set single_user

或者:

Sp_dboption '無日誌檔案的資料庫名稱', 'single user', 'true'

設定為單使用者模式。

5、檢查並重建日誌檔案,執行:

dbcc checkdb('無日誌檔案的資料庫名稱',REPAIR_ALLOW_DATA_LOSS)

這個時間比較長。耐心等待!如果有錯誤提示,再執行:

dbcc checkdb('無日誌檔案的資料庫名稱',REPAIR_REBUILD)

進行修復。如果沒有錯誤,可以跳過。

6、恢覆成多使用者模式

alter database 無日誌檔案的資料庫名稱 set multi_user

或者:

Sp_dboption '無日誌檔案的資料庫名稱', 'single user', 'false'

重新整理資料庫,你就可以看到已經修復好的資料庫了。

我是如此修復,至於網上還有很多修複方法,我試過,沒有成功。通過多方組合得到這個方法。可能也不是資料庫的每一個版本都適用,如果你用過後,不行,希望能留言,讓我們能共同討論,共同進步!