欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

解决SQL2005备份数据库.dat或bak还原时的结构错误的解决方法

程序员文章站 2022-06-01 17:00:40
远程服务器主机上安装了sql server 2005,备份的时候使用虚拟主机自带的还原工具备份数据库为data.dat格式的,在本机sql2000想还原数据库的时候,出现提...
远程服务器主机上安装了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 官方简体中文版 : 
(仅40m) 或
http://download.microsoft.com/download/c/e/6/ce626f95-ebd3-4ab8-aa35-c1bfaf98b7d5/sqlexpr32_chs.exe

上面的仅仅是个服务器软件,我们还要下载一个图形化客户端管理工具:microsoft sql server management studio express 。下载地址: 
(仅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 。