我有两个几乎相同(结构上)的数据库:
- 文件
- 文件旧
原来的数据库在表分区出现之前就已经存在,所以他们找到的解决方案是创建第二个数据库,并在每年之后将所有旧数据迁移到其中。现在他们想再次合并这两个数据库。
我做了一些研究,发现这两个数据库在表之间的结构差异很小,没有 IDENTITY 列。
因此,除了细微的结构差异之外,我认为最有可能的是将旧数据库中的值插入到第一个数据库中。
数据库其实有点大,有100多张表。
我想知道的是,使用 SSIS 来做这件事是否有意义,或者 SSIS 是否适合这种工作?还是我应该只编写 T-SQL 代码来完成这项工作?
作为一个附加问题,是否有比上述前两个选项更适合此类工作的工具?
我自己会直接使用 SSIS。除了开箱即用的配置、日志记录和错误处理之外,您还可以获得一些非常好的性能。
通过使用诸如EzAPI之类的东西编写大部分包的脚本,然后调整剩余的 10%,您可能会节省相当多的时间。
我最近使用这种方法编写了将大约 150 个表从我们的 Informix 实例复制到 SQL Server 的脚本。通过设置基础知识为我节省了大量时间,我所要做的就是修复系统之间的一些数据类型不兼容问题。我在写关于 EzAPI 的博客方面落后了,但如果您对这种方法感兴趣,我可以整理一个示例。
编辑
我整理了一个使用 SSIS EzAPI 复制表的演示。您需要修改 ReplicateTables 中的值,然后修改 GenerateTableList 中的查询以确保它识别所有适用的表。