使用 SSIS 传输带数据的 SQL Server 表

在本文中,我们将向您展示如何使用传输 SQL Server 对象任务将带数据的 SQL Server 表从一个数据库传输到另一个数据库。如果您想传输 SQL Server 表结构(不含数据),请参阅传输表结构文章。

使用 SSIS 中的传输 SQL Server 对象任务传输带数据的表

如果您观察到下面的屏幕截图,我们有一个空的数据库(TRANSFERDBTASKS)。在此示例中,我们将使用 SSIS 中的传输 SQL Server 对象任务,将 [Adventure Works DW 2014] 数据库中的几个表连同数据一起传输到 [TRANSFER DB TASKS] 数据库。

步骤 1:打开 BIDS,然后将 SQL Server 对象传输任务从工具箱拖放到控制流中。

SSIS Transfer SQL Server Objects Task

双击“传输 SQL Server 对象”,这将打开用于配置它的编辑器。

常规选项卡:在此选项卡中,您可以根据项目要求编写名称和描述。

General Tab

在这里,我们没有更改名称,但如上图所示,我们更改了描述。单击“对象”选项卡

步骤 2:选择 SourceConnection 属性,然后单击它以创建新连接。如果您已经创建了一个,请选择它。

SSIS Transfer SQL Server Objects Task Objects Tab

单击“”(<新建连接…>)后,将打开 SMO 连接管理器编辑器窗口来配置连接。

步骤 3:在此示例中,我们选择本地主机实例并使用 Windows 身份验证。如果您在组织工作,请选择服务器身份验证并提供凭据。

Source Connection

单击“测试连接”按钮以检查连接是否引发错误。

步骤 4:单击 SourceDatabase 选项,然后选择您要使用的数据库。对于这个 SSIS 传输带数据的 SQL Server 表,我们选择 [Adventure works DW 2014]。

Source Database

步骤 5:选择 DestinationConnection 属性,然后单击它以创建新连接。如果您已经创建了一个,请选择它。

我们在 SourceConnection 中已经提到了本地主机实例,这里我们将使用相同的实例。如果您想创建一个新的,请单击“将”并打开 SMO 连接管理器编辑器窗口来配置连接。

SSIS Transfer SQL Server Objects Task Destination Connection

步骤 6:单击 DestinationDatabase 选项,然后选择您要使用的数据库。目前,我们选择 [TRANSFER DB TASKS]。

Destination Database

步骤 7:单击 CopyData 属性,并将选项从默认的 False 更改为 True。在此示例中,我们愿意将 SQL Server 数据库表连同数据一起从源传输到目标。

通过将 CopyData 属性选项从 False 更改为 True,传输 SQL Server 对象任务将复制表以及表中的数据。

SSIS Transfer SQL Server Objects Task Copy Data

步骤 8:如果需要从源数据库复制所有对象(视图、函数、存储过程、表),请将 CopyAllObjects 选项设置为 True。在此示例中,我们将发送几个表。因此,我们将其保留为默认的 False。

SSIS Transfer SQL Server Objects Task Copy All Objects

如果我们将 CopyAllObjects 选项设置为 False,下一个属性 ObjectsToCopy 将被启用。

步骤 9:单击 ObjectsToCopy 属性进行配置。ObjectsToCopy 属性将探索传输 SQL Server 对象任务的许多选项。让我们专注于属于或与此示例相关的选项。在此示例中,我们的要求是传输表。因此,我们只需要理解前两个选项,如 CopyAllTables 和 TableList。

如果您需要从源数据库复制所有表,请将 CopyAllTables 选项设置为 True。在此示例中,我们将发送几个表,因此我们将其保留为默认的 False。

SSIS Transfer SQL Server Objects Task Objects To Copy

注意:如果您将 CopyAllTables 选项设置为 True,那么从 TableList 选项中选择表就没有意义了。

步骤 10:单击 TableList 选项,然后单击 collections。一旦您单击 Collections 旁边的 (…) 按钮,它将打开“选择表”窗口,以便从源连接中选择可用的表。

SSIS Transfer SQL Server Objects Task Copying Tables

在本例中,我们只选择 3 个表([Dim Customer]、[Dim Employee]、[Dim Product] 和 [Dim Geography])。但是,您可以尝试更多表。

步骤 11:单击“确定”关闭“选择表”窗口,然后单击“确定”完成传输 SQL Server 对象任务的配置。

让我们运行包,看看是否成功将表连同数据从源传输到了目标。

SSIS Transfer SQL Server Objects Task Copy Tables

让我们打开管理工作室并检查表。

上图显示我们已成功传输了 SQL Server 表及其数据。