SQLserver 2005數據庫日誌文件記錄了所有對數據庫的操作更新信息及數據,是十分重要的文件,每個數據庫都有一個對應的日誌文件,如果因特殊情況導致了數據庫日誌文件的損壞,數據庫的數據文件是無法進行附加和啓動的。本文針對SQLserver 2005數據庫日誌文件損壞或丟失情況下如何恢復數據庫進行說明。希望能對大家有所幫助。
恢復步驟:
1、停止數據庫服務。
2、將需要恢復的數據庫文件複製到另外的位置。
3、啓動數據庫服務。
4、確認要恢復的數據庫文件已經成功複製到另外的位置,然後在SQL Server Management Studio中刪除要恢復的數據庫。
以上4步操作是針對日誌文件損壞數據庫無法正常online情況的操作,如果是附加新庫文件,則省略以上步驟。
5、新建同名的數據庫(數據庫文件名也要相同)。
6、停止數據庫服務。
7、用第2步中備份的.mdf文件覆蓋新數據庫的同名文件。(附加新庫,則直接用要附加的庫文件覆蓋即可)
8、啓動數據庫服務。
9、運行 alter database dbname set emergency ,將數據庫設置爲emergency mode
10、在新查詢窗口使用以下命令即可恢復數據庫:
use master
declare @databasename varchar(255)
set @databasename='要恢復的數據庫名稱'
exec sp_dboption @databasename, N'single', N'true' --將目標數據庫置爲單用戶狀態
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(@databasename,REPAIR_REBUILD)
exec sp_dboption @databasename, N'single', N'false'--將目標數據庫置爲多用戶狀態
注:'要恢復的數據庫名稱' 替換爲你要恢復的數據庫名。