日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

LDF文件丢失, 如何仅用MDF文件恢复数据库呢?

發(fā)布時間:2025/6/15 数据库 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LDF文件丢失, 如何仅用MDF文件恢复数据库呢? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

筆者的一個大小為2 TB的SQL Server的database的LDF文件在玩存儲盤映射的過程中莫名其妙的丟失了. 好在MDF文件還在. 筆者慌了, Bruce Ye告訴筆者, 不用著急, 光用MDF也可以把數(shù)據(jù)庫弄回來的. 筆者就問Bruce, 假設我可以容忍LDF中信息的丟失的話, 那么該如何恢復這個數(shù)據(jù)庫呢?

?

我們執(zhí)行了下面的步驟:

1. 在SQL Server Management Studio中刪除狀態(tài)為Recovery Pending的(即丟失了LDF的)問題數(shù)據(jù)庫.

2. 重命名老的MDF文件.

3. 重建一個新的數(shù)據(jù)庫, 名字跟剛剛刪除的數(shù)據(jù)庫完全一樣. 注意, 新的MDF的位置跟我們老的MDF的文件的位置相同. 這里的LDF文件的位置選在你想要存放的最終位置上(這個就是你所要的被恢復的LDF文件了).

4. 停掉SQL Server服務, 將新的MDF重命名掉, 老的MDF命名回原來的名字.

5. 啟動SQL Server服務, 這時這個數(shù)據(jù)庫的狀態(tài)會變?yōu)镽ecovery Pending. 我們開始執(zhí)行下面的腳本.

alter database contentdb1 set emergency alter database contentdb1 set single_user with rollback immediate alter database contentdb1 rebuild log on (name=ContentDB1_log, filename='E:\CDBLOG\contentdb1log.ldf') ALTER DATABASE contentdb1 SET MULTI_USER with rollback immediate

5. 這時數(shù)據(jù)庫的狀態(tài)就應該恢復正常了.

?

問題解決.

?

筆者在運行上面的腳本的時候, 遇到了一個報錯. 在運行了命令alter database contentdb1 set single_user with rollback immediate之后, 運行alter database contentdb1 rebuild log on 的時候說數(shù)據(jù)庫在single user mode, 我的當前用戶無法執(zhí)行命令.

我使用了命令exec sp_who2, 發(fā)現(xiàn)我的contentdb1上有個suspend的session, 執(zhí)行命令kill XY 殺掉這個死掉的session之后, 問題解決.

?

參考資料

=====================

SQL – Get Exclusive Lock – Fix for The database could not be exclusively locked to perform the operation error

http://robbamforth.wordpress.com/2009/11/13/sql-get-exclusive-lock-fix-for-the-database-could-not-be-exclusively-locked-to-perform-the-operation-error/

Rebuilding Transaction Log in SQL Server 2000, 2005, 2008

http://database-wiki.com/2011/03/06/rebuilding-transaction-log-in-sql-server-2000-2005-2008/

CHecking SQL Acitivity

http://networking.ringofsaturn.com/SQL/sql-activity.php

How to recover database from MDF in SQL Server 2005?

http://stackoverflow.com/questions/773059/how-to-recover-database-from-mdf-in-sql-server-2005

《新程序員》:云原生和全面數(shù)字化實踐50位技術專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的LDF文件丢失, 如何仅用MDF文件恢复数据库呢?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。