MDF损坏或LDF文件损坏

MDF损坏或LDF文件损坏

当MDF损坏时

1.备份结尾日志

  http://www.cnblogs.com/gered/p/8964424.html

2.当LDF损坏时(参考:http://www.cnblogs.com/CareySon/archive/2013/06/16/3138742.html)

  (1)重做日志文件

  

--设置库为紧急状态
alter database [11test] set emergency

--设置为单用户模式
alter database [11test] set single_user


use master;
 
GO
alter database [11test] set Emergency;
GO
exec sp_dboption [11test], single, true
GO
--重建数据库日志文件
alter database [11test] Rebuild Log on (name=FightWarPkDb,filename='C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\11test_log.LDF')
GO
alter database [11test] set multi_user

1.数据库正常关闭,日志损坏。

    当数据库正常关闭时,日志损坏就不是那么重要了,因为此时数据库中所有提交的事务对应的脏数据都已经CheckPoint到物理磁盘,因此不存在数据不一致的问题。因此,如果MDF和NDF文件完好,直接指定 FOR ATTACH_REBUILD_LOG参数后附加即可,如图所示。

  

    但值得注意的是,使用该方式附加数据库会自动重建日志文件,日志文件大小为0.5MB,也就是2个VLF,自动增长为10%,因此您需要手动再来设置一下日志的大小,避免出现太多VLF的情况。

2.替换法

  【】新建一个同名数据库

  【】下线(或关掉引擎服务),然后删掉新建同名数据库的MDF,把出问题的数据库MDF文件替换

  【】上线/重启引擎服务

  

猜你喜欢

转载自www.cnblogs.com/gered/p/9450622.html
今日推荐