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

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介:


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



 本文转自 dufei 51CTO博客,原文链接:http://blog.51cto.com/dufei/84931,如需转载请自行联系原作者

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
5天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
40 10
|
17天前
|
SQL 存储 关系型数据库
一文搞懂SQL优化——如何高效添加数据
**SQL优化关键点:** 1. **批量插入**提高效率,一次性建议不超过500条。 2. **手动事务**减少开销,多条插入语句用一个事务。 3. **主键顺序插入**避免页分裂,提升性能。 4. **使用`LOAD DATA INFILE`**大批量导入快速。 5. **避免主键乱序**,减少不必要的磁盘操作。 6. **选择合适主键类型**,避免UUID或长主键导致的性能问题。 7. **避免主键修改**,保持索引稳定。 这些技巧能优化数据库操作,提升系统性能。
213 4
一文搞懂SQL优化——如何高效添加数据
|
1月前
|
SQL 数据库 数据安全/隐私保护
Sql Server数据库Sa密码如何修改
Sql Server数据库Sa密码如何修改
|
1月前
|
SQL 数据可视化 数据处理
使用SQL和Python处理Excel文件数据
使用SQL和Python处理Excel文件数据
51 0
|
15天前
|
SQL
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
15 0
|
5天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
55 6
|
5天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
|
9天前
|
SQL 安全 Java
SQL server 2017安装教程
SQL server 2017安装教程
13 1
|
22天前
|
SQL 存储 Python
Microsoft SQL Server 编写汉字转拼音函数
Microsoft SQL Server 编写汉字转拼音函数
|
27天前
|
SQL 安全 数据库
第三章用sql语句操作数据
第三章用sql语句操作数据
9 0