加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2023-08-02 15:21:09 所属栏目:MsSql教程 来源:
导读:2005不论是性能还是安全性都是sql SERVER2000有所增强,现有不少企业在使用2005,或是有的用户是2000与2005同时使用,那么这中间就涉及到双数据的转换问题:

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

本人的实现
2005不论是性能还是安全性都是sql SERVER2000有所增强,现有不少企业在使用2005,或是有的用户是2000与2005同时使用,那么这中间就涉及到双数据的转换问题:
 
今天我们就来看一下相关的实现方法:
 
本人的实现环境介绍:
 
方法一: 使用分离与附加 该方法适合于将sql Server 2000中的数据转换到sql Server2005 ,但反之不行。
 
例如:现在将sql SERVER2000中的DUFEI数据库通过分离与附加的方法导入到sql SERVER 2005中:
 
步骤1: 在 2000机器上运行:
 
rush:sql;"> USE master;GO EXEC sp_detach_db @dbname = N'dufei';GO
 
步骤2:将分离再来的MDF及LDF文件复制到 2005机器上:
 

步骤3:在2005机器上执行以下命令:将复制的文件附加到数据库中即可:
 
rush:sql;"> 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中
 
方法四:使用脚本: 但我个人不推荐使用此方法,因为在此过程中依然要使用数据的导入/导出来转换数据,也就是说使用脚本不能让记录也一起导入到对方的数据库中,仍然要借助其他方法!如果数据库中对象较多,如触发器,存储过程等,可以考虑使用脚本和数据的导入\导出相结合.
 
这只是我个人的感觉,不知道对否,还望大家多批评指正!
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章