【发布时间】:2019-10-02 18:52:47
【问题描述】:
我正在使用 SSIS 包将数据从 SAP 数据库表中提取到 SQL Server 表中。我正在使用 OLEDB 源/目标连接来实现这一点。
现在的问题是 SAP 中的一个表有 500 万条记录,并且需要大约 2 个小时才能将这些数据提取到我的 SQL Server 表中。我使用了 trunc-dump 方法(截断 sql server 中的表并将数据从 SAP 表中转储到其中),并且还尝试使用 Multiple Hash 键来引入更新/新记录。
哈希键的问题在于它仍然需要扫描整个表来查找更改/新记录,因此与 trunc-dump 方法所花费的时间几乎相同。
我正在寻找一种新方法或更改现有方法以减少完成此提取所需的时间。
【问题讨论】:
-
您可以访问 SAP 表吗?是否可以在其上添加 WhenUpdated 日期时间字段,然后使用该字段过滤/刷新数据?
-
如果可以的话,在
WhenUpdated字段上也有一个索引。 -
@VitalyBorisov SAP 是专有软件,如果我们对 SAP 标准表进行更改,我们将失去 SAP 支持,我认为我的公司还没有准备好进行更改。
-
SAP 是否允许在其中构建任何逻辑?像在动力学?触发器?
-
@VitalyBorisov 这可以追溯到我对您的第一个建议的回答。我希望我可以对表格进行任何此类更改,但我不能。我不相信变更数据捕获是可能的。您还有其他想法吗?
标签: sql-server ssis sap