已备份数据库的磁盘结构版本为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工具在内部用于升级处理



本文转自 lzf328 51CTO博客,原文链接:

http://blog.51cto.com/lzf328/1096020
相关实践学习
使用交互方式创建数据表
本次实验主要介绍如何在RDS-SQLServer数据库中使用交互方式创建数据表。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
5天前
|
关系型数据库 MySQL 数据库
【Navicat 连接MySQL时出现错误1251:客户端不支持服务器请求的身份验证协议;请考虑升级MySQL客户端】
【Navicat 连接MySQL时出现错误1251:客户端不支持服务器请求的身份验证协议;请考虑升级MySQL客户端】
|
6月前
|
存储 NoSQL Redis
Redis学习笔记:升级你的Redis服务器该怎么做(顺带也是安装)
只需下载最新版本的Redis,解压后进入目录,执行make和make install命令即可完成安装。升级Redis也同样简单,只需下载新版本的Redis,停止当前的Redis进程,替换为新版本。
79 0
|
8月前
|
Linux Shell 虚拟化
惠普HPE服务器升级iLO4固件版本
惠普HPE服务器升级iLO4固件版本
516 0
惠普HPE服务器升级iLO4固件版本
|
9月前
|
Java Linux API
Zookeeper的服务器的log4j升级为log4j2的升级方案(忽略配置化兼容问题)
Zookeeper的服务器的log4j升级为log4j2的升级方案(忽略配置化兼容问题)
203 0
Zookeeper的服务器的log4j升级为log4j2的升级方案(忽略配置化兼容问题)
|
关系型数据库 MySQL Linux
存量centos 8服务器升级到anolis os
在今年年底centos 8就将停止技术支持,为继续获取更新我们需要在这之前将服务器升级到anolis os系统
514 0
存量centos 8服务器升级到anolis os
|
Linux Shell 开发工具
升级!必须记录!在不影响现有应用的情况下对Linux服务器做系统重装,挂载硬盘,移动老文件,安装宝塔,恢复应用
升级!必须记录!在不影响现有应用的情况下对Linux服务器做系统重装,挂载硬盘,移动老文件,安装宝塔,恢复应用。 由于我们主站服务器是3年前重装的一次,3年前用的centos 6.8版本实在是太老,对于我们现在的应用最低至少是PHP7.3以上的应用问题实在是太大了,而且对于很多插件支持都很差。必须升级到centos7.6,而且最重要的是发现高版本的宝塔太好用了,还有云备份,必须得升级,但是面对接近100g的数据,搬家迁移实在是愚公移山精神。
升级!必须记录!在不影响现有应用的情况下对Linux服务器做系统重装,挂载硬盘,移动老文件,安装宝塔,恢复应用
|
Linux 应用服务中间件 PHP
热门文章
最新文章
推荐文章
更多