浪潮软件Sybase帐套迁移MS SqlServer的方案

浪潮软件Sybase帐套迁移MS SqlServer的方案

 数 据 库: Syb 11.9网
软件版本: PS未知 软件模块: 备份恢复
问题描述:
   Sybase帐套迁移MS SqlServer的方案
产生原因: 日常维护
解决方法:
   MS SqlServer与Sybase的性能差异较大,根据目前笔者所掌握的资料,站点超过80以上的数据库最好采用MS Sqlserver,否则容易出现死锁、服务不响应等现象。对于已经使用Sybase数据库的客户,如果迁移到MS SqlServer,是一个比较复杂的工作。以下是笔者迁移数据库的一点经验总结,供大家参考:
一、准备工作:
1、 目前很多服务器是多CPU。因此迁移前,请检查系统及MS SqlServer是否支持多CPU,如果不支持,请重装多CPU的驱动程序。
2、 对于使用磁盘阵列的服务器,推荐:操作系统卷使用镜像卷,而数据库使用RAID 5。
3、 请安装MS SqlServer企业版,考虑到机器的处理能力,迁移数据库的时候,Sybase数据库与MS SqlServer数据库不要在同一个服务器上。
4、 因为Sybase对数据的大小写是敏感的,所以安装MS SqlServer时,需要设置为字母大小写敏感。
5、 迁移过程中,需要验证Sybase源数据库中各表的记录数与SqlServer目标数据库中各表的记录数是否一致,因此最好准备编写一个相应的小程序,用来进行验证。笔者编写的程序界面如图:
二、数据库迁移:
1、 跨数据库迁移的方法及优缺点:
一般可使用以下几种方法:
a、 使用维护工具导入导出实现迁移。优点:比较准确,可选择模块,从而能确定迁移哪个模块的哪些表。缺点:存在部分数据丢失的可能,还可能存在部分表没有导出的问题,而且对于历史表的导出功能也比较弱。使用维护工具导入的时候,速度也比较慢;
b、 使用MS SqlServer的DTS实现迁移。优点:速度快,可以随意指定需要导入的表,比较灵活。缺点:可能会丢失索引,默认值。挨个选表,比较麻烦。
c、 使用PowerBuilder的数据管道实现迁移。优点:灵活,可以选择重新建表,还是追加,还是更新。缺点:挨个选表,比较麻烦。
d、 利用PowerBuilder可把表的数据可以储存为一个SQL文件,然后再MS SqlServer数据库中执行,从而实现迁移。优点:对于上述三种方式都无法导入的表,可通过此方式导出,进行数据修正后,再进行迁移。
根据以上所列出迁移方法的优缺点,可以看出迁移数据库时需要合理搭配。当前表应该使用维护工具处理。因为历史表不会增加数据,查询几率较少,丢失默认值和索引并不会有太大的问题,因此历史表可通过DTS进行迁移。
2、 迁移数据库的步骤:
1) 清除Sybase源数据中不需要的垃圾表;
2) 在MS SqlServer目标数据库中,导入从Sybase源数据库当前数据及历史年度的数据;
3) 检查数据完整性,对于源数据库与目标数据库不一致的表,采用DTS进行迁移。注意,迁移时,一定要选择删除目的表中所有的行;如果目标数据库中存在该表,则绝对不能选择创建目的表。一定要对使用DTS进行迁移的表作记录。
4) 对于DTS迁移出错的数据库,根据出错信息进行调整,再次使用DTS进行处理。比如:如果Sybase源数据库中,销售没有使用批次,则迁移时提示无法将NULL插入到XSTDMX_PCH,因此需要将该字段置为空格。再次使用DTS进行迁移。
5) 对于用DTS仍然无法迁移的表,如果数据量不大,则需要使用第4种迁移方法,如果数据量很大,则可尝试使用第3种迁移方法。一般,如果字符型中储存着半个汉字或者字符串较长,则必须使用第四种方式,进行手工调整后,再进行插入。
三、注意问题:
1) 在从Sybase迁移到MS SqlServer时,以下表绝对不能用DTS、数据管道迁移:LCBBGS、LSBBZD、HZBBGS、HZBBZD。因为报表管理和报表汇总,在Sybase、MS SqlServer中存储方式是不一样的,因此这四个表不能简单的通过DTS或者数据管道进行迁移。
2) 迁移之后,需要使用维护工具中的重建索引的功能,重建数据表的索引。
3) 对DTS导入的表需要重新检查索引、默认值。检查时,请使用企业管理器,而不要用PB打开该表。因为部分表的默认值和索引在PB中无法正确显示。
4) 建议迁移数据库后,观察3天。从MS SqlServer的企业管理器中的管理中察看锁/对象,对于每条枷锁记录进行分析。通常加锁原因是由丢失索引所造成的。

原创文章,转载请注明: 转载自浪潮888博客

本文链接地址: 浪潮软件Sybase帐套迁移MS SqlServer的方案

文章的脚注信息由WordPress的wp-posturl插件自动生成



This entry was posted in 浪潮文档. Bookmark the permalink.

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>