原文地址:http://www.cnblogs.com/clownkings/p/4950865.html 解決辦法: 1、首先要備份好mdf文件,如果他沒了經理非吃了你不可。都不吐骨頭的。 2、在資料庫中新建一個需要附加同名的資料庫。例如【testdb】 3、停止SQL Server服務 4、找到... ...
原文地址:http://www.cnblogs.com/clownkings/p/4950865.html
解決辦法:
1、首先要備份好mdf文件,如果他沒了經理非吃了你不可。都不吐骨頭的。
2、在資料庫中新建一個需要附加同名的資料庫。例如【testdb】
3、停止SQL Server服務
4、找到該資料庫所在的文件夾、並刪除testdb_log.ldf與testdb.mdf文件
5、 把需要附加的資料庫【testdb.mdf】文件拷貝到當前路徑。
6、啟動SQL Server服務,通過企業管理器連接資料庫。
7、此時的1步中新建的資料庫地址已經指向你需要附加資料庫的mdf文件了。但是現在資料庫還是無法打開的。
8、執行語句:ALTER DATABASE testdb SET EMERGENCY
9、執行語句:ALTER DATABASE testdb SET SINGLE_USER
10、執行語句:ALTER DATABASE testdb REBUILD LOG ON (NAME=dbname_log, FILENAME='C:\XXX\dbname_log.ldf')
其中FILENAME為你需要新建ldf日誌的路徑已經ldf文件名稱。運行後會出現一條警告“執行後,會有警告信息“警告: 資料庫 'xhtyjbbs' 的日誌已重新生成。已失去事務的一致性。RESTORE 鏈已斷開,伺服器不再有以前的日誌文件的上下文,因此您需要瞭解它們的內容。應運行 DBCC CHECKDB 驗證物理一致性。資料庫已置於 dbo-only 模式。在準備使資料庫可用時,需要重置資料庫選項,並刪除所有多餘的日誌文件。””別鳥他。
11、 DBCC CHECKDB(testdb , REPAIR_ALLOW_DATA_LOSS) 這一步會比較卡,可能會導致界面未響應。多等一會。成功後資料庫變成了單用戶模式,下麵兩步驟修改成多用戶模式。
12、ALTER DATABASE testdb SET MULTI_USER
13、ALTER DATABASE testdb SET ONLINE
尾:
不出意外的話資料庫應該可以使用。千萬要先備份好mdf文件,即使玩壞了還有備份。