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

远程服务器主机上安装了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 。

(0)

相关推荐

  • SQLServer 2008数据库降级到2005低版本

    由于目前还广泛使用着SQLServer2000,很多公司又想使用新的SQLServer,从而直接[分离/附加]或者[备份/还原]数据库,在不同版本之间存放.往往就会遇到版本不兼容的问题.前几天遇到了从我本机2008R2上备份的一个数据库还原到2008上面时报错: 从运行版本10.50.2500(2008R2是10.50)和10.00.1600(2008是10.00)中可以看出这个版本不兼容问题,大部分情况下,从低版本升级到高版本,只要不是跨度太大,如2000升级到2012,都不会怎么报错.除非使

  • SQL Server 2005 还原数据库错误解决方法

    在还源数据库时出现以下错误(详情参见下图): System.Data.SqlClient.SqlError: 在对 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\BusinessDB.mdf' 尝试 'RestoreContainer::ValidateTargetForCreation' 时,操作系统返回了错误 '5(拒绝访问.)'. (Microsoft.SqlServer.Express.Smo) 原因分析: 没有对"C:\Pro

  • SQL Server 数据库备份和还原认识和总结 (一)

    可能许多同学对SQL Server的备份和还原有一些了解,也可能经常使用备份和还原功能,我相信除DBA之外我们大部分开发员队伍对备份和还原只使用最基础的功能,对它也只有一个大概的认识,如果对它有更深入的认识,了解它更全面的功能岂不是更好,到用时会得心应手.因为经常有中小型客户公司管理人员对数据库不了解或掌握不牢,会请我们技术人员出马找回丢失的数据或硬件损坏移动数据的现象,或其它情况的发生. 首先从数据库[恢复模式]说起,因为数据库如果恢复模式设置不正确,会导致数据无法还原. SQL Server

  • MS sqlserver 2008数据库转换成2000版本的方法

    话说本来我的电脑有个2000的数据库,去年我在那个电脑上新装了一个2005的数据库.前不久我买了台新电脑,装了数据库2008 将在旧电脑上的一个数据库附加到了2008上面.做完项目,将数据库传到空间时,空间数据库是2000的,报错说我的数据库是2005的 现在我想把我的数据库转成2000,但是我的2008数据库的脚本向导里面没有转成2000这个选项,2005的版本又附加不上去. 关于这个问题,上网请教了网友,真实人多力量大,给出了一系列答案,下面就为大家整理的内容,希望可以帮助大家解决SQLSe

  • SQL Server 2005降级到2000的正确操作步骤分享

    以下的文章主要向大家描述的是SQL Server 2005导入到SQL Server 2000的正确操作步骤,以及对其在实际操作中值得我们大家注意的相关事项的具体描述,以下就是文章的具体内容的介绍,望你会有所收获. SQL Server 2005转到2000的步骤: 1. 生成for SQL Server 2000版本的数据库脚本 SQL Server 2005 的manger studio 打开"对象资源管理器"(没有的话按F8), 连接到你的实例 右键要转到SQL Server 2

  • SqlServer高版本数据备份还原到低版本

    最近遇见一个问题: 想要将Sqlserver高版本备份的数据还原到低版本SqlServer上去,但是这在SqlServer中是没法直接还原数据库的,所以经过一系列的请教总结出来一下可用方法. 首先.你得在电脑上装有你将要操作的高版本以及低版本的SqlServer或者你能够连上SqlServer高版本所在的数据库(便于后面拷贝数据), 第二步.打开高版本数据库中你需要备份的数据库,将你备份的数据库相关的登录名或者用户删除.右键数据库->任务->生成脚本.在生成脚本的"选择对象"

  • SQL Server 2005数据库还原错误的经典解决方案

    在SQL Server 2005数据库还原的过程中出现错误:备份集中的数据库备份与现有的'xxxx'数据库不同,网上找了几个解决方案测试,最终成功还原,特此记录下,提供给需要的人. 第一步: 如果你知道备份数据库名你可以跳过第一步,如果你不知道备份数据库的名称,你可以先执行下面语句: RESTORE FILELISTONLY From disk = 'F:\路径\css_cms1'--备份数据库文件路径名 这样可以列出该文件里的data和log文件名,知道这两个文件名以后可以执行下一步了. 第二

  • 企业管理器备份和还原SQL Server数据库

    在日常的数据库操作中,我们常常对数据库进行备份操作,以方便在数据库发生灾难时对数据库进行还原,从而确保数据库的安全性.SQL Server数据库使用企业管理器可以简单直观地完成这些操作,还可以每天自动备份数据库.本文我们就介绍了这一过程,接下来就让我们来一起了解一下吧. 一.备份数据库 1.打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server. 2.SQL Server组-->双击打开你的服务器-->双击打开数据库目录. 3.选择你的数据库名称(如论坛数据库F

  • 通过SQL语句来备份,还原数据库

    eg: 复制代码 代码如下: /* 通过SQL 语句备份数据库 */ BACKUP DATABASE mydb TO DISK ='C:\DBBACK\mydb.BAK' --这里指定需要备份数据库的路径和文件名,注意:路径的文件夹是必须已经创建的.文件名可以使用日期来标示 /* 通过SQL语句还原数据库 */ USE master RESTORE DATABASE mydb FROM DISK='C:\DBBACK\mydb.BAK' WITH REPLACE 注意:很多时候不能直接还原,因为

  • SQL Server 2005与sql 2000之间的数据转换方法

    2005不论是性能还是安全性都是SQL SERVER2000有所增强,现有不少企业在使用2005,或是有的用户是2000与2005同时使用,那么这中间就涉及到双数据的转换问题: 今天我们就来看一下相关的实现方法: 本人的实现环境介绍: 方法一: 使用分离与附加 该方法适合于将SQL Server 2000中的数据转换到SQL Server2005 ,但反之不行. 例如:现在将SQL SERVER2000中的DUFEI数据库通过分离与附加的方法导入到SQL SERVER 2005中: 步骤1: 在

随机推荐