数据库日志文件被删除恢复方法

2017/11/25 posted in  数据库

正常的日志文件被删除,直接附加的时候删掉附加日志文件,会自动创建一个日志。但这次遇到了特殊情况,在日志文件被删除之前,数据库主文件变成了只读,所以附加时会报主文件为只读,无法创建日志文件。通过以下操作可恢复。

  1. 新建一个同名数据库
  2. 不用分离或脱机,直接停止数据库服务,然后覆盖新建的数据库主文件
  3. 启动数据库服务,然后运行SQL
  4. alter database 无日志文件的数据库名称 set emergency 设置为紧急状态。
  5. alter database 无日志文件的数据库名称 set single_user 设置为单用户模式。
  6. dbcc checkdb('无日志文件的数据库名称',REPAIR_ALLOW_DATA_LOSS) 检查并重建日志文件,如报错再运行 dbcc checkdb('无日志文件的数据库名称',REPAIR_REBUILD) 进行恢复。没错误,跳过
  7. alter database 无日志文件的数据库名称 set multi_user 恢复成多用户模式
  8. 刷新数据库,你就可以看到已经修复好的数据库了。