时间:2021-05-24
我们重要的数据是存放在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文件即可。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
方法一(只有mdf没有日志文件的可以恢复)证明有效1.新建同名数据库。2.把该数据库设置为脱机。3.删除其日志文件(.LDF),不删除后边的过程执行通不过。4.
FileYee这款软件支持文件本地磁盘、共享目录等文件数据进行备份恢复,通过该软件用户可以进行文件数据单项同步、双向同步、镜像同步、更新同步的数据同步操作,感兴
FinalRecovery怎么恢复电脑硬盘数据呢?它能够恢复硬盘中误删除的文件,还能恢复已经格式化或者分区被删除的文件数据,只要你需要恢复数据的硬盘没有被新文件
--创建数据库(文件:主要数据文件mdf==1,次要数据文件ndf>=0,日志文件ldf>=1)--文件组:当1mdf,5个ndf(1,2,2),10个ldf(
为了保障服务器中数据的可恢复性,采用异地备份数据库方案。异地备份数据分为异地备份文件数据与异地备份数据库数据二种。其中异地备份文件数据是为了备份网站中用户上传的