使用 SSIS 将数据从一个数据库复制到另一个数据库

Copying data from one database to another using SSIS

我正在编写一个 SSIS 程序包并尝试将数据从一个数据库提取到另一个数据库。我创建了一个 Execute SQL 任务并使用以下语句 INSERT INTO dbo.getParties EXEC dbo.getParties 来执行该操作。当源和目标位于同一数据库中时,这会起作用。当源和目标位于不同的数据库中时,我该如何处理。您只能将一个连接管理器关联到一个任务。

我是否连接到源并在 SP 中调用目标。这样做对吗

下面是我的模板设计

使用 Data Flow 组件,您可以在其中设置源和目标连接字符串。

..在数据流任务中使用 DestinationSource 助手,让您为每个助手定义自己的连接字符串。

当然,除此之外,您还可以应用任何类型的数据转换。

编辑: 由于您的来源是 SQL 命令(存储过程),因此您需要在 source 助手中定义它。正如您在这里看到的,只需将 Data Access Mode 更改为 SQL Command 并设置为 EXEC getParties:

Execute SQL Task INSERT INTO 命令中,只需将数据库名称添加到 Table 名称。例如:

INSERT INTO Db1.dbo.Table1
SELECT * FROM Db2.dbo.Table2

旁注:我认为最好使用 DataFlow Tasks 来复制数据,因为它更快并且提供更多控制和错误处理