SSIS传输对象任务超时

SSIS传输对象任务超时,ssis,entity-framework-6,etl,data-warehouse,biml,Ssis,Entity Framework 6,Etl,Data Warehouse,Biml,我可以看出,我并不是唯一一个遇到SSIS传输数据库对象任务和超时问题的人,但是,在ETL的提取阶段使用此任务的人肯定非常常见,因此我正在尝试确定通常/公认的方法 我有一个web应用程序,它使用实体框架生成约250个表,其中一些表偶尔会有模式更新 ETL的大部分转换和加载部分由一系列存储过程处理,但是,这些存储过程是从最初加载到Transfer Database Objects任务中的应用程序表的副本中读取的 最初,我们设置了一个SSIS包,它只运行传输数据库对象任务,然后启动存储过程。这意味着该

我可以看出,我并不是唯一一个遇到SSIS传输数据库对象任务和超时问题的人,但是,在ETL的提取阶段使用此任务的人肯定非常常见,因此我正在尝试确定通常/公认的方法

我有一个web应用程序,它使用实体框架生成约250个表,其中一些表偶尔会有模式更新

ETL的大部分转换和加载部分由一系列存储过程处理,但是,这些存储过程是从最初加载到Transfer Database Objects任务中的应用程序表的副本中读取的

最初,我们设置了一个SSIS包,它只运行传输数据库对象任务,然后启动存储过程。这意味着该作业对更改具有相当大的弹性,并且当模式更新影响到其中使用的表时,所需的唯一更改是对存储过程的更改

不幸的是,随着时间的推移,我们的一个应用程序实例不断增长,传输数据库对象任务已经到了我经常看到超时错误的地步。这些似乎不是连接超时,也不是我可以在服务器端控制的任何东西,从我所看到的,我无法修改该任务中底层SMO内容的CommandTimeout

我可以看到有些人手工制作他们的摘录,这样他们就可以运行一个单独的数据流任务来从每个表中提取信息,这有一个明显的好处,就是这些可以并行运行,但是,在我的例子中,这将意味着要制作其中250个的初始工作块,以及每当源数据库上的模式发生更改时的维护任务,无论更改的程度有多小

我遇到过Biml,它看起来是一种可能的方法,至少可以减轻开销,但是,它似乎还不能在VS2017上运行


是否有人对此遵循任何特定的模式,或者如果我确实需要单独的数据流任务,是否有某种方法可以自动化架构更新,也许可以使用某种SSIS自动化和实体框架中的某些东西?

事实证明,最简单的方法是编写传输任务的克隆,但通过适当的添加,允许对批处理和超时等进行更多控制。本文提供了详细信息: