首页 > 数据库 > SQL Server > 正文

如何转换SQL Server 2008数据库到SQL Server 2005

2024-08-31 00:55:54
字体:
来源:转载
供稿:网友
如何转换SQL Server 2008数据库到SQL Server 2005 2014-03-19 12:06 by 潇湘隐者, ... 阅读, ... 评论, 收藏, 编辑

    背景介绍: 公司一套系统使用的是SQL SERVER 2008数据库,突然一天收到邮件,需要将这套系统部署到各个不同地方(海外)的工厂,需要在各个工厂部署该数据库,等我将准备工作做好,整理文档的时候,坑爹的事情发生了,居然发现有两三个工厂使用的还是SQL SERVER 2005数据库,要命的是这几个工厂没有SQL SERVER 2008的数据库服务器。而其中两个正准备做服务器的迁移升级,但是IBM的存储还没有到,没办法,这么”反人类,阻挡历史进程“的事情就发生了,我以为这种小概率的事情永远都不会发生在我身上。好在这个数据库不大,才200M。于是才有下面文章的总结。

        由于SQL Server 2008数据库转换到SQL Server 2005上,是不能通过备份还原、分离附加等操作来实现的,只能通过数据的导入导出实现。方法大致有几种:

    1:通过Generate Scripts(包括数据) ,这个方法呢,如果对于很小的数据库,倒是一个非常方便的方法。注意前提是数据库很小,如果数据库很大,那你千万别选这个方法,SQL导入数据的性能会折磨死你。

    2:通过Generate Scripts(生成表、视图等),然后使用SQL Server Import and Export Tool导入数据

    3: Red Gate SQL Compare 工具

     关于性能对比呢,博客园这位老兄的这篇文章"不同版本的SQL Server之间数据导出导入的方法及性能比较 " 已经做了详细的测试,下面只是介绍、总结转换SQL Server 2008数据库到SQL Server 2005的操作步骤。

Generate Scripts

Step 1:  单击某个需要转换的数据库,然后选择任务(Tasks)——生成脚本(Generate Scripts)

clipboard

Step 2: 弹出生成脚本指导界面

clipboard[1]

Step 3:选择需要导出的数据库对象,有导出整个数据库对象和选择指定数据库对象两个选项

clipboard[2]

Step 4:  设置生成脚本选项,例如指定脚本位置,脚本文件的编码等等选择,最重要的是高级选项”Advanced“

clipboard[3]

如下所示,最好在”Script for Server Version“ 里面选择”SQL Server 2005“等选项

clipboard[4]

测试服务器这个版本里面没有'Script Data”(生成数据的脚本)选项,如下所示,如果你要通过脚本插入数据,那么就必须选择这个选项。

clipboard[5]

Step 5: Summray your selections, 点击Next继续

clipboard[6]

Step 6:  执行过程。完成后即生成了相应脚本文件。

clipboard[7]

将生成的脚本在另外一台测试服务器执行,创建相应的数据库以及数据库对象。然后点击”SQL Server Import and Export“工具进行数据导入,操作步骤如下所示:

SQL Server Import and Export

Step 1: 欢迎界面,点击Next跳过。

clipboard[8]

Step 2: 选择数据源(Data Source),我们需要选择“SQL Server Native Client 10”, 输入身份认证信息,我选择Windows 身份认证。选择

需要导出数据的数据库,例如,我选择一个测试数据库TSL

clipboard[9]

clipboard[10]

Step 3:配置需要导入的Destination,选择对应的服务器和数据库

clipboard[11]

Step 4:两个选择,选项1是用于整个表或视图导入导出,选项2用于书写查询SQL或导入导出

clipboard[12]

Step 5: 勾选你需要导数的脚本,单击Source旁边的选项,即可选择全部对象。有时候需要编辑“Edit Mappings"选项,勾选”Enable identity Insert“,否则会导致后面导入导出报错

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表