• SQL2008 无日志附加MDF文件


     SQL数据在附加的时候..有时会因为日志文件过大..或者一些其他问题造成附加失败..

     笔者遇到的问题是数据库主文件(*.mdf)超过25G..日志文件超过200G..附加的耗时简直日了狗了..最后超时..附加失败..

     所以就在想不要这个日志文件了行不行..最后发现了这篇文章.. 阅读原文<SQL Server附加数据库时报1813错误的解决方案> ..以下是对这篇文章的整理和补充..

    主要报错信息

    无法重新生成日志,原因是数据库关闭时存在打开的事务/用户,该数据库没有检查点或者该数据库是只读的。

    解决的方案:

    1. 新建一个同名的数据库.最好是区分大小写.. 甚至创建时的逻辑名都尽量保持一致

    2. 关闭SQL服务..不要分离新建的库..(以下是命令..在"运行"窗口执行)

    Net Stop MsSqlserver

    3. 这个时候因为服务停掉了..所以可以操作实际的数据文件*.mdf..用原有的同名mdf文件覆盖新建库的mdf文件..然后启动sql服务...(以下是命令..在"运行"窗口执行)

    Net Start MsSqlserver

       这时系统还没有检查异常..先别刷新..

    4. 按顺序执行以下语句,, 注意看注释 有跳过的语句

        把NewDBName改成你的数据库名字

    --设置库为紧急状态
    alter database NewDBName set emergency
    
    --设置为单用户模式
    alter database NewDBName set single_user
    
    --检查并重建日志文件
    dbcc checkdb('NewDBName',REPAIR_ALLOW_DATA_LOSS)
    
    --上条执行时间比较长。耐心等待!
    --如果报错..执行以下, 没有报错..可以跳过
    dbcc checkdb('NewDBName',REPAIR_REBUILD)
    
    --恢复成多用户模式
    alter database NewDBName set multi_user

    一般执行到这里就已经好了..

    刷新看看..

  • 相关阅读:
    Cookie和Seesion
    Forms组件
    分页器组件
    关于Django的Ajax操作
    Oracle常用数据库表操作
    redis的缓存穿透 缓存并发 缓存失效
    Struts2的拦截器
    Struts2的各种标签库
    Struts2基础知识
    Java常用数据结构和算法
  • 原文地址:https://www.cnblogs.com/iiwen/p/6256925.html
Copyright © 2020-2023  润新知