ETL 包最初加载所有数据然后接下来 运行 仅加载更改或新项目的最佳方法
Best method for an ETL Package to load all data initially and then next run to only load changes or new items
我是 SSIS 的新手,想要创建 ETL 包的最佳方法是首先加载所有数据,然后 运行 仅加载更改或新项目。我将在计划 SQL 作业中使用该包。我知道我可以设置 SSIS 包来截断目标 table,但对我来说这是一种资源浪费,如果 table 很大,事务日志会很大。
提前致谢!
我认为实现这一目标的方法不止一种:
- 添加包含最后插入的 ID(或主键值)的引用 table,并且每次 table 都必须更新。
- 使用 Change Data Capture (CDC), you can refere to the this article for more information about it: Introduction to Change Data Capture (CDC) in SQL Server 2008 (请注意,数据库必须配置为启用 CDC - 可能不适用于您的情况)
- 将
LastUpdate
列添加到 table,并且 LastUpdate
列值高于最后一个 运行 SSIS 作业日期的只读日期。
我是 SSIS 的新手,想要创建 ETL 包的最佳方法是首先加载所有数据,然后 运行 仅加载更改或新项目。我将在计划 SQL 作业中使用该包。我知道我可以设置 SSIS 包来截断目标 table,但对我来说这是一种资源浪费,如果 table 很大,事务日志会很大。
提前致谢!
我认为实现这一目标的方法不止一种:
- 添加包含最后插入的 ID(或主键值)的引用 table,并且每次 table 都必须更新。
- 使用 Change Data Capture (CDC), you can refere to the this article for more information about it: Introduction to Change Data Capture (CDC) in SQL Server 2008 (请注意,数据库必须配置为启用 CDC - 可能不适用于您的情况)
- 将
LastUpdate
列添加到 table,并且LastUpdate
列值高于最后一个 运行 SSIS 作业日期的只读日期。