我目前正在使用设计糟糕且管道缓慢的数据库,因此我决定复制数据库的一小部分(15个表)并且只带来其中一些表格,例如我想只带来那些行有一定的身份证。 但这不是一次性的举动,我需要每小时添加添加到新数据库中的所有添加到新数据库的东西。我的研究让我得到了SSIS,并且它可能有一种方法可以实现这一目标,但我发现没有明确的例子说明它是如何实现的,如果事实上它是可能的。提前谢谢。
答案 0 :(得分:2)
是的,这是可能的。您可以通过sql代理安排ssis包每小时运行一次。
对于表,您可以将数据流任务拖到控制流上。在DFT中,您需要放置oledb源组件,查找,数据转换(如果源表和目标表中的类型不同)和Oledb目的地。
oledb Source component
:创建一个string类型的变量,并在表达式中编写sql查询以根据ID获取数据。现在在源组件中使用此变量。
Lookup
:您需要选择源表并组合源表和目标表中的主键列。它的作用类似于内部联接查询。在组合两个表中的主键后,选择您需要从源中获取的列。
Oledb destination
:只需选择目标表并映射Lookup no matched output
中的列。如果需要更新源中的值,请使用Lookup matched output
并将其连接到执行SQL任务并编写更新查询。