每天将大约 200 个 SQL Server 2005 源数据库(相同架构)加载到暂存区以准备数据仓库清理、重复数据删除和转换的最佳提取策略是什么?
到目前为止,我已经设想了以下可能性:
- 事务复制:创建 200 个 SQL Server 2008 R2 订阅者,在 2005 年从各自的发布者那里提取数据。在订阅者和影子表中的所需表上启用变更数据捕获,以便对我们的临时数据库执行增量加载。
- Rowversion:在每个所需的源表上添加一个 rowversion 列,并将其与 SSIS 过程结合使用以将更改数据直接提取到临时数据库。
- BCP 文件:创建一个自动化任务,每晚从所有源表中转储 BCP 文件。使用 SSIS 将这些表作为完整加载(而不是增量加载)的一部分加载到临时数据库中。
额外的想法:
- 我对在 200 个数据库上支持全新事务复制拓扑所需的管理和硬件开销感到紧张。
- 数据库的总大小约为 100GB。但其中大部分是事务日志和其他表的一部分,不会在任何事实或维度中使用。换句话说,BCP 文件不会很大,这就是为什么我正在考虑完整的提取策略,即使我读过的所有内容都反对它。
- 我愿意接受建议、文件等。