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

2005不论是性能还是安全性都是SQL SERVER2000有所增强,现有不少企业在使用2005,或是有的用户是2000与2005同时使用,那么这中间就涉及到双数据的转换问题:

今天我们就来看一下相关的实现方法:

本人的实现环境介绍:

方法一: 使用分离与附加 该方法适合于将SQL Server 2000中的数据转换到SQL Server2005 ,但反之不行。

例如:现在将SQL SERVER2000中的DUFEI数据库通过分离与附加的方法导入到SQL SERVER 2005中:

步骤1: 在 2000机器上运行:

USE master;GO
EXEC sp_detach_db @dbname = N'dufei';GO

步骤2:将分离再来的MDF及LDF文件复制到 2005机器上:

步骤3:在2005机器上执行以下命令:将复制的文件附加到数据库中即可:

USE master;Go
EXEC sp_attach_db @dbname = N'dufei',
@filename1 = N'c:\dufei_data.mdf',
@filename2 = N'c:\dufei_log.ldf'; GO

此时:导入成功!

方法二:利用备份与还原:

实例:现将2000中的DB1数据库备份后,利用还原的方法导入到2005中:

步骤1:在SQL2000中执行:

backup database DB1 to disk='c:\DB1.BAK'

步骤2:将备份文件复制到 SQL 2005的机器上:将生成的DB1.BAK复制到对方机器上:

步骤3: 在SQL 2005的机器上执行:

restore database db1 from disk='c:\db1.bak'

因为路径问题,所以默认情况下不会成功:也就是说如果使用RESTORE的默认语法,是不行的:

因此,我们要对路径进行修改:

RESTORE DATABASE db1 FROM DISK = 'C:\db1.bak' WITH FILE = 1, MOVE N'db1_Data' TO N'c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\db1.MDF', MOVE N'db1_Log' TO N'c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\db1_1.LDF'

则还原成功!

但如果是将2005中的数据使用此方法导到2000则会报错:

为备份或还原操作指定的设备太多;只允许指定 64 个设备。

服务器: 消息 3013,级别 16,状态 1,行 1

RESTORE DATABASE 操作异常终止。

所以两种方法都不能实现将SQL SERVER 2005的数据导到 SQL SERVER 2000中,除非使用下面的两种方法:

方法三:导入导出:

实例:将 2005中的数据库DUFEI导出到SQL 2000中

步骤1:

成功!

反之从 SQL2000导到SQL 2005也是一样的:例如将PUBS导到2005中

方法四:使用脚本: 但我个人不推荐使用此方法,因为在此过程中依然要使用数据的导入/导出来转换数据,也就是说使用脚本不能让记录也一起导入到对方的数据库中,仍然要借助其他方法!如果数据库中对象较多,如触发器,存储过程等,可以考虑使用脚本和数据的导入\导出相结合.

这只是我个人的感觉,不知道对否,还望大家多批评指正!

本文出自 “杜飞” 博客

(0)

相关推荐

  • 通过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 注意:很多时候不能直接还原,因为

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

    远程服务器主机上安装了sql server 2005,备份的时候使用虚拟主机自带的还原工具备份数据库为data.dat格式的,在本机sql2000想还原数据库的时候,出现提示"已备份数据库的磁盘上结构版本为611. 服务器支持版本539, 无法还原或升级此数据库,RESTORE DATABASE 操作异常终止." 这是由于sql数据库高版本2005向下兼容,但低版本的sql2000不能处理sql2005的数据库格式造成的.客户端必须使用sql2005才能正确还原已经备份的数据库文件.这

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

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

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

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

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

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

  • 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

  • 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

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

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

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

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

随机推荐