mssqlserver恢復ldf文件數據的方法
更新時間:2013年11月05日 15:48:27 作者:
本文介紹mssqlserver怎么恢復ldf文件數據庫,簡單的來說,MDF文件是SQL server用來存放數據的數據庫文件;LDF文件SQL server是日志文件,存放了對數據庫進行的所有操作信息
我們重要的數據是存放在MDF文件中的,如果LDF文件丟失,MDF文件沒有丟失,那么數據也可以還原。如果LDF文件沒有丟失,MDF文件丟失,且LDF文件是完整的,也是可以提供一定手段還原數據。
現象描述
我們現在要面對的問題是,針對wtlog_2008_m12這個數據庫,只有MDF文件而LDF文件丟失了,SQL Server Management Studio中也沒有這個數據庫,附加上也會提示錯誤。
解決方法
(1)在SQL Server Management Studio刪除狀態(tài)為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服務,連接數據庫,執(zhí)行下面語句,如果報錯的話,請查看是否連接上數據庫,或者有其他進程連著數據庫。
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文件即可。
現象描述
我們現在要面對的問題是,針對wtlog_2008_m12這個數據庫,只有MDF文件而LDF文件丟失了,SQL Server Management Studio中也沒有這個數據庫,附加上也會提示錯誤。
解決方法
(1)在SQL Server Management Studio刪除狀態(tài)為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服務,連接數據庫,執(zhí)行下面語句,如果報錯的話,請查看是否連接上數據庫,或者有其他進程連著數據庫。
復制代碼 代碼如下:
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文件即可。
相關文章
insert select與select into 的用法使用說明
將一個table1的數據的部分字段復制到table2中,或者將整個table1復制到table2中,這時候我們就要使用SELECT INTO 和 INSERT INTO SELECT 表復制語句了2011-12-12
SQL2000個人版 應用程序正常初始化失敗0乘以C0000135失敗
應用程序正常初始化(0*c0000135)失敗。是什么意思?2011-01-01
與 SQL Server 建立連接時出現與網絡相關的或特定于實例的錯誤
與 SQL Server 建立連接時出現與網絡相關的或特定于實例的錯誤,未找到或無法訪問服務器,請驗證實例名稱是否正確并且 SQL Server 已配置為允許遠程連接2024-04-04

