zoukankan      html  css  js  c++  java
  • sql_server只有.mdf文件如何恢复数据

    只有mdf文件时,应当如何进行恢复

    1、新建一个同名数据库,指定数据库存储位置(ps:如果你之前的数据库位于 D:数据 这个目录,这次也要建一个相同的目录,避免在还原数据时候,读取到旧目录导致报错)。

    2、停止数据库服务,删除新建数据库的log跟数据文件 
         将老的数据库文件丢进来(考虑到磁盘读写的速度,放在一个磁盘内数据拷贝比较快一点)
     
    3、启动数据库服务
    数据库变为置疑或可疑状态。然后在查询分析器中运行:
    alter database 无日志文件的数据库名称 set emergency
    设置为紧急状态。
     
    4、再运行:
    alter database 无日志文件的数据库名称 set single_user
    或者:
    Sp_dboption '无日志文件的数据库名称', 'single user', 'true'
    设置为单用户模式。
     
    5、检查并重建日志文件,运行:
    dbcc checkdb('无日志文件的数据库名称',REPAIR_ALLOW_DATA_LOSS)
    这个时间比较长。耐心等待!期间会有报错:--is_broker_enabled停止,断开数据库连接之类报错,然后再运行:
     dbcc checkdb('无日志文件的数据库名称',REPAIR_REBUILD)
    进行修复。如果没有错误,可以跳过。
     
    6、恢复成多用户模式
    alter database 无日志文件的数据库名称 set multi_user(报错的话  将sql_server重新打开一次,然后再次执行就好了)
    或者:
    Sp_dboption '无日志文件的数据库名称', 'single user', 'false'
    刷新数据库,你就可以看到已经修复好的数据库了。
  • 相关阅读:
    献给即将27岁的我
    oracle导表小结
    [译]第三章:什么是组织结构
    第三章:什么是组织结构
    第二章:什么是组织
    [译]第二章:什么是组织
    第一章:什么是管理
    [译]第一章:什么是管理
    [原]DbHelper-SQL数据库访问助手
    DbHelper-SQL数据库访问助手
  • 原文地址:https://www.cnblogs.com/byfboke/p/12532496.html
Copyright © 2011-2022 走看看