【发布时间】:2012-05-11 06:05:03
【问题描述】:
我正在开发简单的转换 SSIS 包以从一台服务器导入数据并加载到另一台服务器。每个人只使用一张桌子。 我想知道,由于它只是刷新数据,在加载之前是否需要删除表中的旧数据,我需要专家建议我应该怎么做。我应该截断旧表还是使用删除?我还应该记住哪些其他问题? 请给出你回答的理由,这将有助于在技术上与我的领导进行斗争。
【问题讨论】:
标签: sql sql-server-2008 ssis
我正在开发简单的转换 SSIS 包以从一台服务器导入数据并加载到另一台服务器。每个人只使用一张桌子。 我想知道,由于它只是刷新数据,在加载之前是否需要删除表中的旧数据,我需要专家建议我应该怎么做。我应该截断旧表还是使用删除?我还应该记住哪些其他问题? 请给出你回答的理由,这将有助于在技术上与我的领导进行斗争。
【问题讨论】:
标签: sql sql-server-2008 ssis
这取决于要求是什么。
您是否需要跟踪数据的任何更改?如果是这样,每次截断数据将不允许您跟踪数据的历史记录。在这种情况下,一个不错的选择是将源数据暂存到单独的表/数据库中,并将所需数据加载到另一个结构中(可能具有历史跟踪,例如,维度变化缓慢的事实表)。
截断是删除数据的最佳选择,因为它是一个最少记录的操作。
【讨论】: