標籤:blog http io ar os sp for strong on
公司網站運營兩年多了,記錄檔超級大,在重裝系統的時候,為了省事,就沒有備份記錄檔,而且是沒有分離就把記錄檔給刪掉了(下次一定要記得先分離再刪記錄檔)。結果造成資料庫怎麼都附加不上。出現錯誤。
解決辦法:
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目錄下就行了。
本人來至:http://www.cnblogs.com/ATree/archive/2010/05/16/Sqlserver2005-mdf-ldf.html
SQL Server 2005無記錄檔附加資料庫