从我读到的:
表或视图数据访问模式将每一行作为事务一次提交。因此,制作一个传输 500 万行的包需要很长时间(30 多分钟)。
快速加载数据访问模式允许在插入到目标时指定批处理行和提交大小。例如,插入 500 万条记录只需 2 分钟多一点。
现在问题出现了,加载到 DW 的 SSIS 包之一在 OLE DB 目标中使用表或视图数据访问模式。据我了解,这是为了获取它插入的错误行(错误约束)到错误记录表中。因此,我们有一个需要 30 多分钟的过程。而对于相同的操作,Fast-Load 将花费不到 2 分钟的时间。
如果我理解正确,快速加载将无法区分哪一行导致批次中的错误,而这又导致批次完全失败?如果是这样,是否有另一种方法来解决这种情况,即带有错误行的批次被错误约束重定向,然后以一种方式将批次中的好记录发送到正确的目的地,同时仍然发送错误记录到错误日志表中?这样做是个好主意吗?关于花费的时间,硬着头皮说话会更好吗?
先感谢您。