zoukankan      html  css  js  c++  java
  • sqlserver mdf向上兼容附加数据库(无法打开数据库 'xxxxx' 版本 611。请将该数据库升级为最新版本。)

    最近工作中有一个sqlserver2005版本的mdf文件,还没有log文件,现在需要

    附加到sqlserver2012,经过网上一顿搜索,把完整的过程奉上,供大家参考

    首先创建数据库

    再设置数据库的兼容性(经过尝试,此步骤可以省略)

    停掉sqlserver 服务,将需要附件的mdf文件替换掉创建数据生成的mdf,删除掉对应的ldf文件

    再启动sqlserver 服务

    执行下面的脚本

     脚本一:

    ALTER DATABASE HunLianJiaoYou SET EMERGENCY
    ALTER DATABASE HunLianJiaoYou SET SINGLE_USER
    ALTER DATABASE HunLianJiaoYou REBUILD LOG ON (NAME=HunLianJiaoYou_log, FILENAME='C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLDATAHunLianJiaoYou_log.ldf')

    可能有警告“警告: 数据库 'HunLianJiaoYou' 的日志已重新生成。已失去事务的一致性。RESTORE 链已断开,服务器不再有以前的日志文件的上下文,因此您需要了解它们的内容。应运行 DBCC CHECKDB 验证物理一致性。数据库已置于 dbo-only 模式。在准备使数据库可用时,需要重置数据库选项,并删除所有多余的日志文件。”

    再重启动数据库服务

    再执行下面的脚本

     脚本二:

    ALTER DATABASE HunLianJiaoYou SET MULTI_USER
    ALTER DATABASE HunLianJiaoYou SET ONLINE

    再重新启动数据库服务

    完事!

    PS:

    在尝试的过程中执行完脚本一 就执行脚本二,

    就会抛出异常:无法打开数据库 'HunLianJiaoYou' 版本 611。请将该数据库升级为最新版本。

    后来发现只需要行完脚本一,重启服务,再执行脚本二就没有问题了,就不会出现脚本兼容性的问题

    --DBCC CHECKDB(HunLianJiaoYou1, REPAIR_ALLOW_DATA_LOSS) 

    --数据库是紧急模式 执行下面的语句ALTER DATABASE HunLianJiaoYou SET ONLINE,恢复正常模式

  • 相关阅读:
    “铁大失物帮”Alpha版使用说明
    绩效评估
    改进方案评论
    意见汇总
    对其他团队项目的意见和建议
    冲刺周期
    属于我的专属博客团队地址
    第一个冲刺周期-第三天
    第一个冲刺周期-第二天
    动手动脑与动手
  • 原文地址:https://www.cnblogs.com/wanglg/p/3740129.html
Copyright © 2011-2022 走看看