SQL Server 2005無日誌文件附加數據庫

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

解決辦法:

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'

刷新數據庫,你就可以看到已經修復好的數據庫了。

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

#1樓 2010-05-21 19:19 | 感謝poofly  提供方法:

CREATE DATABASE DBname
ON (FILENAME = 'D:\SalesData\archdat1.mdf')
FOR ATTACH_REBUILD_LOG ;
GO

#12樓 121.29.113.* 2010-08-11 09:11 | peking2[未註冊用戶] 評註:

這個方法不錯,操作簡單。我個人Sql2005的mdf文件大小爲16G。在sql2008下進行操作成功。

#30樓 116.228.132.* 2011-11-26 13:58 | $涅槃重生$

哦,不好意思!試了之後,報這樣的錯。
錯誤提示:無法打開數據庫 'db_name'版本 611。請將該數據庫升級爲最新版本。

(SQL SERVER 2005 附加到SQL SERVER 2008)

$涅磐重生$ 14:34:20 提供解決方法:
把報2005下生成的mdf文件放在安裝目錄下的Sqlserver2008/MSSQL/Data目錄下就行了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章