【发布时间】:2019-03-18 11:46:19
【问题描述】:
我有一个场景,我需要为下个季度加载数据,这个数据应该只插入并且从第二天开始 数据应该是增量负载。例如,1 月 1 日至 3 月 6 日的季度。1 月 1 日,我们加载了历史负载或第一次插入,并在 1 月 2 日开始以增量负载。现在在 3 月 7 日,我们想要新的插入,并且从 3 月 8 日开始,增量负载将在 3 月 7 日新插入的数据上运行。就像我们想锁定从 1 月 1 日到 3 月 6 日这一季度的数据,新插入应该在 3 月 7 日发生,3 月 8 日增量负载应该在 3 月 7 日加载的数据上运行。如何在 ssis 中实现这一点?
【问题讨论】:
-
到目前为止你尝试过什么?你有定义这些时期的日历表吗?您是否有一个现有的 SSIS 包,它只是批量加载所有内容?源系统中的数据是否曾经过时?
-
使用批量加载。我面临的主要问题是如何冻结季度数据?
-
冻结只是意味着不刷新它。所以这真的取决于你已经拥有什么。一种方法是编写一个表达式来计算您想要刷新(删除和重新加载)的第一个日期。这将是一个包含“getdate()”和“datepart”的长表达式
-
现在3个月的数据正在生产中,每天都在增加负载。现在的场景是我们必须在季度的第4-5周锁定季度数据,即4月4-9日左右.然后应该进行新插入,并且在对该新插入进行增量加载之后。如何使用 SSIS 或 SQL 服务器查询锁定季度数据。
-
您需要定义“锁定”和“冻结”。你的意思是说你不应该再将任何数据重新加载到这些时期,它们应该保持静态吗?
标签: ssis