• 附加只有数据文件无日志文件,亲测


    写这个东西只是为了记录一下作为新手的自己经历,大家就不要吐得厉害哇,呵呵。。。。

    1、新建一个数据库名相同的数据库

    2、停止sql实例服务

    3、把数据库文件覆盖新的数据库文件

    4、启动实例服务

    5、执行以下语句 

    alter database dbname set emergency--紧急模式

    go

    alter database dbname  set single_user--单用户

    go

    --开始修复,这部分如果报错不用管

    dbcc checkdb(dbname ,REPAIR_ALLOW_DATA_LOSS)

    go

    dbcc checkdb(dbname ,REPAIR_REBUILD)

    go

    dbcc checkdb(dbname )

    go

    --修改数据库为多用户模式

    alter database dbname set multi_user

    然后这里就可以了???网上很多都是这样子,但都是水的,亲测无效,

    如果数据库是正常状态的话是可以的,但是如果数据库还处于紧急状态的话,就无法备份的。

    SELECT DATABASEPROPERTYEX('turbocrm701', 'Status') --查看状态emergency

    如果还是紧急状态可以做如下处理:

    alter database dbname  set single_user--单用户

    go

    --重建数据库日志文件

    ALTER DATABASE dbname REBUILD LOG ON (NAME=dbname_log',
    FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\dbname_log.ldf')

    如果原数据库文件没改名字的话,会提示已经存在之类的话

    改下名字再执行,如果成功的话再执行

    --

    alter database dbname  set multi_user

    go

    ALTER DATABASE dbname  SET ONLINE
    SELECT DATABASEPROPERTYEX('dbname', 'Status')

    如果状态还没改过来我也没办法了

  • 相关阅读:
    Linux下c开发 之 线程通信(转)
    mount -t nfs 的使用
    window共享linux下的文件 samba
    C/C++ 的使用
    php获取格式时间和时间戳
    php压缩文件夹
    php递归删除文件夹
    php生成文件夹(递归生成)
    QQ音乐API分析记录
    $(this)与this的区别
  • 原文地址:https://www.cnblogs.com/huanlinll/p/3734886.html
Copyright © 2020-2023  润新知