Sql 使用SSI将表的选项卡和部分从一个数据库移动到另一个数据库

Sql 使用SSI将表的选项卡和部分从一个数据库移动到另一个数据库,sql,sql-server,database,ssis,Sql,Sql Server,Database,Ssis,我目前使用的数据库设计很差,管道速度很慢,所以我决定复制数据库的一小部分(15个表),只带一些表,例如,我只想带具有特定id的行。 但这不是一次性的移动,我需要每小时将所有添加到旧数据库的内容添加到新数据库中。我的研究让我找到了SSIS,它可能有一种实现这一点的方法,但我没有找到明确的例子来说明如何做到这一点(如果事实上是可能的话)。提前谢谢。是的,这是可能的。您可以通过sql代理计划ssis包每小时运行一次 对于表,可以将数据流任务拖到控制流上。在DFT内部,需要放置oledb源组件、查找、数

我目前使用的数据库设计很差,管道速度很慢,所以我决定复制数据库的一小部分(15个表),只带一些表,例如,我只想带具有特定id的行。
但这不是一次性的移动,我需要每小时将所有添加到旧数据库的内容添加到新数据库中。我的研究让我找到了SSIS,它可能有一种实现这一点的方法,但我没有找到明确的例子来说明如何做到这一点(如果事实上是可能的话)。提前谢谢。

是的,这是可能的。您可以通过sql代理计划ssis包每小时运行一次

对于表,可以将数据流任务拖到控制流上。在DFT内部,需要放置oledb源组件、查找、数据转换(如果源表和目标表中的类型不同)和oledb目标

oledb源组件
:创建一个字符串类型的变量,并在表达式中编写sql查询以根据ID获取数据。现在在源组件中使用此变量

Lookup
:您需要选择源表并组合源表和目标表中的主键列。其作用类似于内部联接查询。组合两个表中的主键后,从源表中选择所需的列

Oledb destination
:只需选择目标表并从
查找不匹配的输出
映射列即可。如果需要从源更新值,请使用
查找匹配的输出
,将其连接到执行SQL任务并编写更新查询

请通过和

是否必须为每个表创建新的OLE DB源?是的,如果表结构不同,则需要创建单独的oledb源