开发者社区> 科技小能手> 正文

已备份数据库的磁盘结构版本为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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
数据库云HBase 版本spark服务支持D1机型
信息摘要: 数据库云HBase 版本spark服务支持D1机型,适合起步超过20T数据库的大客户,每GB存储单价最低。适用客户: 大企业版本/规格功能: spark支持D1机型产品文档: 数据库云HBase 版本spark服务支持D1机型,具体spark服务参考https://help.
542 0
从远程Oracle服务器上同步复制数据到本地备份库
create or replace PROCEDURE "SYNC_DATA_FROM_DBLINK_DB" AS BEGIN DECLARE CURSOR c_TabNames IS SELECT TNAME FROM TAB; v_TabName c_TabNames%ROWTYPE; v_SQL VARCHAR2(500); v_rowcount NUMB
1679 0
查看远程Redis服务器的版本
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/46379701 查看远程Redis服务器的版本 如何查看远程Redis服务器的版本 作者:chszs,转载需注明。
536 0
[教程]在CentOS7上配置 FTP服务器 Proftpd 支持 MySQL 虚拟用户加密认证以及磁盘限额(Quota)
本文软件采用 yum 安装,不需要编译,而且随时都可以跟随 CentOS 升级 Proftpd 到最新版本,以避免可能的漏洞攻击。利用 Proftpd 现成的配置以及设置好的各种模块,可以实现 sftp 和 ssh 的结合,完美的实现虚拟用户加密密码存放于数据库。
3971 0
CentOS 6.3 + Subversion + Usvn 搭建版本管理服务器
一. Subversion 简介 Subversion是一个自由,开源的版本控制系统。在Subversion管理下,文件和目录可以超越时空。Subversion将文件存放在中心版本库里。这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。
1510 0
在Android中afinal框架下实现sqlite数据库版本升级的办法
     上一篇文章采用的是SQLiteOpenHelper中的onUpgrade方法实现数据库的升级。      首先获取Context: private Context mContext=this; 然后实现FinalDb内的静态方法: FinalDb.
835 0
23704
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载