热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

已备份数据库的磁盘结构版本为611,服务器支持版本为539,无法还

大家都知道高级版本的数据库文件无法还原或者附加到低版本,因为高版本和低版本文件式会有不同。如果尝试将低版本的数据库附加或者还原到低版本的数据库会看到类下面的错误:已备份数据库的磁盘结构版本为611,服务器支持版本为539,无法还原或升级数据

大家都知道高级版本的数据库文件无法还原或者附加到低版本,因为高版本和低版本文件式会有不同。如果尝试将低版本的数据库附加或者还原到低版本的数据库会看到类下面的错误: 已备份数据库的磁盘结构版本为 611 ,服务器支持版本为 539 ,无法还原或升级数据

大家都知道高级版本的数据库文件无法还原或者附加到低版本,因为高版本和低版本文件格式会有不同。如果尝试将低版本的数据库附加或者还原到低版本的数据库会看到类似下面的错误:

已备份数据库的磁盘结构版本为611,服务器支持版本为539,无法还原或升级数据库。RESTORE FILELIST 操作异常结束。(MicrosoftSQL Server,错误:3169

可以看到这里有两个版本号,不是我们平时看到的服务器版本号(select @@version),而是SQLServer内部数据库版本号。这些版本号是没有官方文档的。不过我们可以使用DATABASEPROPERTYEX ‘Version’选项获得这个版本号。

select DATABASEPROPERTYEX('master','version')

这里我从网上找到了所有SQLServer版本对应的内部数据库版本号的配置表(ternal SQL Server Database Version Numbers):

Target SQL Server Version

Source SQL Server Version

Internal Database Version

SQL Server 2008 R2

SQL Server 2008 R2

665

SQL Server 2008

661

SQL Server 2005 with vardecimal enabled

612

SQL Server 2005

611

SQL Server 2000

539

SQL Server 2008

SQL Server 2008

661

SQL Server 2005 with vardecimal enabled

612

SQL Server 2005

611

SQL Server 2000

539

SQL Server 2005 SP2+

SQL Server 2005 with vardecimal enabled

612

SQL Server 2005

611

SQL Server 2000

539

SQL Server 7

515

SQL Server 2005

SQL Server 2005

611

SQL Server 2000

539

SQL Server 7

515

SQL Server 2000

SQL Server 2000

539

SQL Server 7

515

SQL Server 7

SQL Server 7

515

通过这张配置表可以看到出错原因是尝试将2005的备份文件还原到2000。如果没有2005版本的话,只能将2005的数据库脚本导出在2000上重建然后将数据导入。

MSDNDATABASEPROPERTYEX‘Version’选项的解释:用于创建数据库的 SQL Server 代码的内部版本号。仅供 SQLServer工具在内部用于升级处理

推荐阅读
author-avatar
最佳乔海燕
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有