MSSQL

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

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

    2018-05-16 07:55:47 次阅读 稿源:互联网
    非官媒广告

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

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

    本人的实现环境介绍:

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

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

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

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

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

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

    USE master;GoEXEC 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中

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

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

    本文出自 “杜飞” 博客

    非官媒部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与非官媒进行文章共享合作。

    非官媒广告
    非官媒广告
    非官媒广告