我每天都安排一个SSIS包。包的主题是从服务器A到服务器B各100个数据库中复制1个表数据。要求是数据库逐日增加。所以,明天的总数据库是101,然后是第102天。 该软件包将截断来自100个数据库的1个表中的所有数据,并将加载具有100个数据库的表以及新的101数据库。通过SQL作业执行的程序包需要很长时间。
表具有与Identity RowID列相同的列结构。我正在寻找的而不是每天从启动数据库加载我需要包只加载新的数据库i,e 101,102,103等。这样,Identoty RowID列将记录增量。
有没有可能做到这一点。这样可以缩短时间。
感谢。
答案 0 :(得分:1)
如果您只需要传输较新的数据库而忽略旧的数据库。这是做到这一点的方法:
DatabaseName
,ImportedDate
execute sql task
以检查处理数据库是否已存在于该日志表中,命令将如下所示: if not exists(select DatabaseName from logTable
begin select 1 end)
并将结果设置为单行
创建新变量以将结果映射到执行sql任务
在表达式约束中使用该结果变量来控制是否处理或检查另一个数据库
希望这会加快您的流程