65.9K
CodeProject 正在变化。 阅读更多。
Home

创建第一个 SQL Server Integration Services (SSIS) 包 - 第一部分

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.90/5 (14投票s)

2011年3月29日

CPOL

7分钟阅读

viewsIcon

348456

downloadIcon

3624

如何创建第一个 SQL Server Integration Services (SSIS) 包 - 第一部分。

目录

  • 引言
    • 什么是 SSIS 包?
  • 特点
    • SSIS 导入/导出向导
    • 创建或维护 SSIS 包
    • 数据流任务的功能
  • 如何创建简单的 SSIS 包
  • 参考文献
  • 结论
  • 历史

引言

SQL Server Integration Services (SSIS) 是 Microsoft SQL Server 2005 和 2008 版本中一个具有出色功能的重要组件。当今的企业完全依赖于用户/客户提供的数据。业务分析师分析数据以了解市场。因此,数据不仅在商业领域,在其他领域也至关重要。

因此,如果我们考虑一个小型单一领域业务,使用任何数据迁移工具都可以轻松收集业务交易数据。但如果它是一个大型领域甚至多个领域,那么如何集中所有数据;随着业务日益全球化,数据集中化是业务人员非常普遍且重要的需求。

在本文中,我们将讨论 Microsoft SSIS 包,如何创建 SSIS 包以实现流畅的数据迁移,为单一领域设计 SSIS 包,为多个领域设计 SSIS 包,以及其他一些功能,例如 SSIS 导入/导出等。

什么是 SSIS 包? 

根据定义,SQL Server Integration Services (SSIS) 是 Microsoft SQL Server 数据库软件的一个组件,可用于执行广泛的数据迁移任务。

SSIS 是一个数据集成和工作流应用程序的平台。它具有一个快速灵活的数据仓库工具,用于数据提取、转换和加载 (ETL)。该工具还可用于自动化 SQL Server 数据库的维护和多维数据集数据的更新。

特点

SQL Server Integration Services (SSIS) 具有各种有用的功能,例如 SSIS 导入/导出向导,使用 Microsoft 可视化开发 IDE/工具创建/维护 SSIS 包等。让我们尝试更好地了解上述功能。

SSIS 导入/导出向导

此向导可以帮助您快速创建 SSIS 包。例如,我们想将数据从一个数据源移动到另一个目标,请注意,我们可以在没有转换的情况下执行此操作,并且该向导几乎看起来就像 Microsoft SQL Server 导入/导出向导。

创建或维护 SSIS 包

SQL Server Business Intelligence Development Studio (BIDS) 允许用户使用拖放式用户界面创建/编辑 SSIS 包。BIDS 非常用户友好,允许您进行拖放式操作。定义单个包中工作流的各种元素。在包执行时,该工具提供彩色编码的实时监控。

数据流任务的功能

SSIS 提供以下内置转换

  • 条件拆分
  • 多播
  • Union-All、Merge 和 Merge Join
  • Sort
  • 模糊分组
  • 查找和模糊查找
  • 百分比抽样和行抽样
  • 复制/映射、数据转换和派生列
  • 聚合
  • 数据挖掘模型训练、数据挖掘查询、分区处理和维度处理
  • 透视表和
  • 慢变维度
  • 脚本组件

如何创建简单的 SSIS 包

现在我们将创建

  1. 使用 SSIS 向导创建简单的 SSIS 包
  2. 之后,我们将不使用任何向导执行相同操作,并且源/目标数据服务器将不同。
(i) 使用 SSIS 向导创建简单的 SSIS 包

好吧,让我们来实现第一个。要使用 SSIS 向导创建 SSIS 包,我们需要按照以下步骤进行操作

所需步骤

  1. 转到“开始”并打开 SQL Server Business Intelligence Development Studio。
  2. 创建一个新项目,并在模板对话框窗口中选择 Integration Services Project 模板。
  3. 单击“项目”菜单并选择 SSIS 导入和导出向导。
  4. 现在向导会弹出,单击“下一步”。
  5. 在此步骤中,您只需选择数据源,然后单击“下一步”。(参见下面的第 5 步图)。

    注意:如果 SQL Server 身份验证模式配置为混合模式,最好选择 SQL 身份验证。

    下图 (A) 显示了上述步骤的执行情况

    img_1to5.jpg

  6. 好了,现在该选择目标了;因此,选择目标数据库和表,您想将数据存储在哪里,然后单击“下一步”。
  7. 在此步骤中,向导将询问您特定的表复制或查询。选择特定的表复制,然后单击“下一步”。

    下图 (B) 显示了上述步骤 6 和 7 的执行情况

    img_6to7.jpg

  8. 现在,向导将显示源表和目标表,您可以使用“预览”按钮预览数据,也可以为数据映射添加/删除列。单击“下一步”继续。
  9. 您现在非常接近所有步骤的结束了,向导将显示一个摘要,单击“下一步”。
  10. 做得好!!!您已成功配置了所有先前的步骤,现在单击“完成”。

注意:向导将创建一个新的 package.dtsx 文件。

下图 (C) 显示了上述步骤的执行情况

img_8to13.jpg

该向导可以快速将数据从各种源类型移动到各种目标类型,包括文本文件和其他 SQL Server 实例。我必须说这真的很酷。

(ii) 不使用 SSIS 向导并在不同场景下创建简单的 SSIS 包

好了,这并不容易。让我们尝试实现相同的事情,但场景将不同,即现在我们将数据从一个数据服务器/域传输到另一个数据服务器/域。

在我们开始之前,我们需要了解下面列出的一些基本知识

  • 连接
  • Tasks(任务)
  • 优先级约束
  • 事件处理程序
  • 变量

连接

要连接到特定数据源,您必须有一个包含连接所需的所有信息的连接。任务可以通过其名称引用连接,允许在运行时更改或配置连接的详细信息。

Tasks(任务)

任务是一个执行某个操作的原子工作单元。有关任务的更多信息,请访问下面的链接

优先级约束

我认为以下参考非常有助于理解优先级约束并在优先级约束下工作。

事件处理程序

可以为不同范围内的许多事件设计工作流。通过这种方式,任务可以根据包内的事件执行,例如在错误发生后进行清理。

变量

任务可以引用变量来存储结果、做出决策或影响其配置。

好的,太棒了,现在我们有了基本知识,并在此基础上创建第二个 SSIS 包。让我们开始吧……

要实现这一点,我们需要按照以下步骤进行操作

  1. 打开 SQL Server Business Intelligence Development Studio (BIDS) 并创建一种新的项目类型(Integration Services Project)。项目创建后,您将能够看到默认包“Package.dtsx”的包设计器窗口。
  2. 在解决方案资源管理器中,右键单击“数据源”并单击“新建数据源”。为源命名,添加正确的连接字符串,然后单击“确定”。为目标创建一个数据源也重复此步骤。

    图 A 和 B 显示了上述两个步骤的执行情况

    SSIS1to5.jpg

    图 A
  3. 现在我们有了两个数据源;一个用于源,另一个用于远程位置。(请看下图,您的解决方案资源管理器应该与此类似。)

    se1.jpg

    图 B
  4. 让我们为数据源创建两个连接。只需右键单击“连接管理器”并单击“新建连接”,然后选择 ADO.NET 或 OLEDB。选择其中一个,然后单击“下一步”,并为源和目标配置连接(确保您的连接是正确的)。

    图 C 显示了上述步骤的执行顺序

    SSIS-ret.jpg

  5. 将数据流任务从工具箱拖放到控制流部分,用于源和目标。双击每个数据流任务并配置连接管理器。

    图 D 显示了上述操作。

    SSIS-ret-svr.jpg

  6. 现在选择“列”选项卡,选择表中的所需列,然后单击“确定”。将 OLEDB / ADO.NET 源输出连接器(由绿色箭头指示)拖到 OLEDB / ADO.NET 目标。打开 OLEDB / ADO.NET 目标,在连接管理器中提供目标数据源,数据访问模式将是“表或视图 - 快速加载”。选择要插入数据的表。选择“映射”选项卡,并正确地将源列映射到目标列……

最后,运行包。
我们的输出将如下面的图所示

exp.jpg

图 - 输出

结论

希望这对您有所帮助!尽情享受吧。

参考文献

历史

  • 2011 年 3 月 30 日:初始发布
© . All rights reserved.