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

2018-03-16 22:48| 发布者: | 查看: |


已备份数据库的磁盘上结构版本为611.服务器支持版本539,无法还原或升级数据库
  今天从网上下了个试用版的会议室预定系统,sqlserver数据库。提供的是bak文件是2005备份的,还原到本地的sqlserver2000,提示:已备份数据库的磁盘上结构版本为611.服务器支持版本539,无法还原或升级数据库。

  网上找了一下,原因是611是sql 2005的版本,539是sql 2000的版本,数据库备份是不可能在sql2000的数据库上还原的,只可能安装sql server 2005以上的版本来还原,可找台机器安装sql Server 2008,还原数据备份后可生成数据库脚本,并把“编写数据的脚本”设为True, “为服务器版本编写脚本”选择SQL SERVER 2000,把生成的脚本文件在SQL SERVER 2000的目标机器上运行就可以了。

  找了个用sql2008 同学的电脑,还原数据库,然后导出了脚本发给我,搞定。

 

  另一种处理办法:

 

  远程服务器主机上安装了sql server 2005,备份的时候使用虚拟主机自带的还原工具备份数据库为data.dat格式的,在本机sql2000想还原数据库的时候,出现提示“已备份数据库的磁盘上结构版本为611. 服务器支持版本539, 无法还原或升级此数据库,RESTORE DATABASE 操作异常终止。”

  这是由于sql数据库高版本2005向下兼容,但低版本的sql2000不能处理sql2005的数据库格式造成的。客户端必须使用sql2005才能正确还原已经备份的数据库文件。这就需要安装sql 2005,但是sql 2005的一个开发版源文件就达 3.76GB 的大小,X86的也有1GB大小,安装过程更是需要个把小时,这对飘易来说,无疑是个巨大的时间浪费。

  那如何解决呢?我采取的是下载精简版的 sql 2005的服务器端和客户端,2个文件加起来一共才85M大小,安装的实际也仅仅需要10分钟不到,这比原版的安装时间那可是一个巨大的反差。

  好了,就来说说如何安装精简版的 mssql 2005,首先下载服务器端的软件:Microsoft SQL Server 2005 Express Edition ,这个版本其实就是SQL 2005的精减版。

  Microsoft SQL Server 2005 Express Edition (SQL Server Express) 是一种免费、易用的轻量版 SQL Server 2005,具有快速且易于掌握的特点,可用于快速开发和部署动态数据驱动的应用程序。SQL Server Express 提供强大而可靠的数据管理工具,它功能丰富,能够保护数据并提高性能。它适用于嵌入式应用程序客户端、轻型 Web 应用程序以及本地数据存储区。SQL Server Express 具有易于部署以及可以快速设计原型的特点,您可以无偿获取并可以随应用程序免费再分发。如果需要更多的高级数据库功能,可将 SQL Server Express 无缝升级到更复杂的 SQL Server 版本。

  下载地址:Microsoft SQL Server 2005 Express Edition 官方简体中文版 :
http://www.jb51.net/softs/34485.html (仅40M) 或
http://download.microsoft.com/download/C/E/6/CE626F95-EBD3-4AB8-AA35-C1BFAF98B7D5/SQLEXPR32_CHS.EXE

  上面的仅仅是个服务器软件,我们还要下载一个图形化客户端管理工具:Microsoft SQL Server Management Studio Express 。下载地址:
http://www.jb51.net/softs/34486.html (仅45M大小)或
http://download.microsoft.com/download/5/4/F/54F476B4-2348-4D4A-B705-0C8C9AB2A14A/SQLServer2005_SSMSEE.msi

  上面的这2个软件下载好,顺序安装完毕,再次还原刚才的2005的备份文件就没问题了,不会再出现“已备份数据库的磁盘上结构版本为611. 服务器支持版本539, 无法还原或升级此数据库,RESTORE DATABASE 操作异常终止”这样的提示,如果你备份的数据库后缀是 .bat 的,可以直接改为 .bak,因为sql2005只认 .bak 的后缀。

  针对sql2000升级到sql2005后出现的数据库架构不一样的情况,可以在查询分析器里或存储过程里执行以下语句:
EXEC sp_MSforeachtable @command1="EXEC SP_ChangeObjectOwner '?','dbo'"
  该语句调用系统存储过程 sp_MSforeachtable 批量修改数据表的架构名为 dbo 。


<
>

 
QQ在线咨询
咨询热线
18201818033
服务热线
13916810392
返回顶部