Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 ssis中增量负载的最佳方式_Sql Server 2008_Ssis - Fatal编程技术网

Sql server 2008 ssis中增量负载的最佳方式

Sql server 2008 ssis中增量负载的最佳方式,sql-server-2008,ssis,Sql Server 2008,Ssis,我每天从源代码中获取600000行,我需要将它们转储到SQL Server目标中,这将是一个增量负载 现在,由于目标表的大小可能会日益增加,这将是增量负载的最佳方法。我心里只有几个选择: 查找任务 合并联接 SCD 等等 请向我推荐在增量加载中表现良好的最佳选项。如果您只需要插入它们,实际上并不重要。 如果需要检查诸如“如果存在,更新其他插入”之类的内容,我建议创建一个oleDbSource,在其中查询600.000行,并通过现有数据源上的查找任务检查它们是否存在。由于现有的数据源是或往往是巨大

我每天从源代码中获取600000行,我需要将它们转储到SQL Server目标中,这将是一个增量负载

现在,由于目标表的大小可能会日益增加,这将是增量负载的最佳方法。我心里只有几个选择:

查找任务

合并联接

SCD

等等


请向我推荐在增量加载中表现良好的最佳选项。

如果您只需要插入它们,实际上并不重要。
如果需要检查诸如“如果存在,更新其他插入”之类的内容,我建议创建一个oleDbSource,在其中查询600.000行,并通过现有数据源上的查找任务检查它们是否存在。由于现有的数据源是或往往是巨大的,所以要小心配置缓存模式的方式。我将使用部分缓存,内存限制由您正在查找的ID排序。根据缓存的工作方式,这一细节非常重要。

看看Andy Leonard的优秀系列或Todd McDermid关于如何使用免费缓存的视频,两者都将解决如何正确地进行缓存的问题,这比我在本框中列举的要好得多。

合并联接是一个巨大的性能问题,因为它需要预先对所有记录进行排序,因此不应用于此目的


我们每天处理数百万个记录文件,通常将它们放在一个暂存表中,并与变更数据跟踪表中的数据进行哈希比较,以查看数据是否与prod上的数据不同,然后只加载新的或不同的数据。因为我们在生产数据库之外进行比较,所以对prod的影响很小,因为我们没有对照prod检查数百万条记录,我们只处理它实际需要的247条记录。事实上,对于我们最繁忙的服务器,所有这些处理都在一个单独的服务器上进行,除了最后一步进入prod。

那么,在这种情况下,您建议我在这里使用哪项任务?