【升级至sql 2012】sqlserver mdf向上兼容附加数据库(无法打开数据库 'xxxxx' 版本 611。请将该数据库升级为最新版本。)

sqlserver mdf向上兼容附加数据库(无法打开数据库 'xxxxx' 版本 611。请将该数据库升级为最新版本。)

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

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

首先创建数据库

【升级至sql 2012】sqlserver mdf向上兼容附加数据库(无法打开数据库 'xxxxx' 版本 611。请将该数据库升级为最新版本。)

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

【升级至sql 2012】sqlserver mdf向上兼容附加数据库(无法打开数据库 'xxxxx' 版本 611。请将该数据库升级为最新版本。)

停掉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,恢复正常模式

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

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

首先创建数据库

【升级至sql 2012】sqlserver mdf向上兼容附加数据库(无法打开数据库 'xxxxx' 版本 611。请将该数据库升级为最新版本。)

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

【升级至sql 2012】sqlserver mdf向上兼容附加数据库(无法打开数据库 'xxxxx' 版本 611。请将该数据库升级为最新版本。)

停掉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,恢复正常模式