在 SSIS 中传输 SQL Server 视图

在本文中,我们将向您展示如何使用“传输对象任务”将 SSIS 中的 SQL Server 视图从一个数据库传输到另一个数据库。如果您想移动存储过程,请参阅“传输存储过程”文章。

使用 SSIS 中的传输 SQL Server 对象任务传输视图

如果您观察到下面的屏幕截图,有一个名为 [Duplicate AdventureWorks2014] 的数据库。我们已经使用传输 SQL Server 对象任务从 [AdventureWorks2014] 传输了表。请参阅“传输带数据的表”文章,了解如何传输表。

在此示例中,我们将使用 SSIS 传输 SQL Server 对象任务将用户定义的视图从 [AdventureWorks2014] 传输到 [Duplicate AdventureWorks2014]。在开始创建包之前,让我们先看一下 [AdventureWorks2014] 中可用视图的列表。

从上图可以看出,该数据库包含许多用户定义的视图。我们的工作是使用 SSIS 传输 SQL Server 对象任务将视图从 [AdventureWorks2014] 传输到 [Duplicate AdventureWorks2014]。现在,让我们看一下目标数据库。

上面的屏幕截图显示,[Duplicate AdventureWorks2014] 数据库除了系统视图外,没有任何用户定义的视图。

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

双击传输对象任务将打开编辑器进行配置。

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

这里我们没有做任何更改。点击“对象”选项卡

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

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

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

ask Source Connection

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

步骤 4:单击 SourceDatabase 选项并选择您要使用的数据库。目前,我们选择 [Adventureworks2014]。

Transfer Objects Task Source DataBase 1

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

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

Transfer Objects Task Destination Connection 1

步骤 6:单击 DestinationDatabase 选项并选择您要使用的数据库。目前,我们选择 [Duplicate AdventureWorks2014]。

Transfer Objects Task Destination Database 1

步骤 7:如果您必须将源数据库中的所有对象(视图、函数、存储过程、表)复制过来,请将 CopyAllObjects 选项设置为 True。在本示例中,我们只传输视图,所以将其保留为默认的 False。

SSIS Transfer SQL Server Objects Task Copy All Objects 1

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

步骤 8:单击 ObjectsToCopy 属性进行配置。在本示例中,我们的要求是传输视图。因此,我们需要了解 CopyAllViews 和 ViewsList 等选项。

如果您必须将源数据库中的所有用户定义的视图都复制过来,请将 CopyAllViews 选项设置为 True。

SSIS Transfer SQL Server Objects Task Copying Views 3

步骤 9:选择 ViewsList 选项并单击集合。单击集合旁边的 (…) 按钮后,将打开“选择视图”窗口,以便从源连接中选择可用的用户定义视图。

SSIS Transfer SQL Server Objects Task Copying Views 4

在本示例中,我们选择前三个视图。但您可以尝试不同的选项。

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

让我们运行包,看看是否成功将视图从源传输到目标。

让我们打开 Management Studio 并检查用户定义的视图。

SSIS Transfer SQL Server Objects Task Copying Views 5

从上面的屏幕截图可以看出,我们已成功传输了 vEmployee、vEmployeeDepartment 和 vEmployeeDepartmentHistory 等用户定义的视图。