mssqlserver恢復ldf文件數據的辦法。本站提示廣大學習愛好者:(mssqlserver恢復ldf文件數據的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是mssqlserver恢復ldf文件數據的辦法正文
我們主要的數據是寄存在MDF文件中的,假如LDF文件喪失,MDF文件沒有喪失,那末數據也能夠復原。假如LDF文件沒有喪失,MDF文件喪失,且LDF文件是完全的,也是可以供給必定手腕復原數據。
景象描寫
我們如今要面臨的成績是,針對wtlog_2008_m12這個數據庫,只要MDF文件而LDF文件喪失了,SQL Server Management Studio中也沒有這個數據庫,附加上也會提醒毛病。
處理辦法
(1)在SQL Server Management Studio刪除狀況為Recovery Pending的(即喪失了LDF的)成績數據庫(假如有的話,應當是在數據庫治理中沒有的)
(2)重定名老的MDF文件. 好比改成wtlog_2008_m12_bak.mdf
(3) 重建一個新的數據庫, 名字跟喪失的數據庫完整一樣,好比為wtlog_2008_m12,LDF文件的名字假如為wtlog_2008_m12的話,數據庫提醒報錯,說邏輯名字已存在,但文件怎樣也找不到,此處的LDF的文件定名為wtlog_2008_m12_log。 留意, 新的MDF的地位跟我們老的MDF的文件的地位雷同. 這裡的LDF文件的地位選在你想要寄存的終究地位上(這個就是你所要的被恢復的LDF文件了).
(4)封閉SQL Server辦事,將新的MDF(wtlog_2008_m12.mdf)重定名失落(好比改成wtlog_2008_m12___.mdf), 老的MDF(wtlog_2008_m12_bak.mdf)定名回本來的名字(wtlog_2008_m12.mdf).
(5)開啟SQL Server辦事,銜接數據庫,履行上面語句,假如報錯的話,請檢查能否銜接上數據庫,或許有其他過程連著數據庫。
alter database wtlog_2008_m12 set emergency
alter database wtlog_2008_m12 set single_user with rollback immediate
alter database wtlog_2008_m12 rebuild log on (name=wtlog_2008_m12, filename='D:/watcher/database/wtlog_2008_m12.ldf')
alter database wtlog_2008_m12 SET MULTI_USER with rollback immediate
(6)此時,mdf和ldf的名字都為wtlog_2008_m12,刪除過剩的mdf文件便可。