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

2005不管是性能仍是安全性都是SQL SERVER2000有所加强,现有很多企业在使用2005,或是有的用户是20002005同时使用,那么这中间就涉及到双数据的转换问题:
今天咱们就来看一下相关的实现方法:
本人的实现环境介绍:
 
方法一: 使用分离与附加   该方法适合于将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:将分离再来的MDFLDF文件复制到 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
 
 
方法四:使用脚本: 但我我的不推荐使用此方法,由于在此过程当中依然要使用数据的导入 / 导出来转换数据,也就是说使用脚本不能让记录也一块儿导入到对方的数据库中,仍然要借助其余方法!若是数据库中对象较多,如触发器,存储过程等,能够考虑使用脚本和数据的导入\导出相结合.
这只是我我的的感受,不知道对否,还望你们多批评指正!
相关文章
相关标签/搜索