AWDataWarehouseRefresh 包示例自述文件

此示例仅适用于 SQL Server 2005 和 SQL Server 2008,而不适用于 SQL Server 2005 之前的任何 SQL Server 版本。

AWDataWarehouseRefresh 示例包说明如何在新的 AdvWorksDWX 数据库中创建用户表,并使用 AdventureWorks 数据库中的数据填充这些表。执行若干 Transact-SQL 脚本以创建表之后,会运行若干执行 SQL 任务以填充这些表。

ms160706.note(zh-cn,SQL.100).gif重要提示:
提供的示例仅供学习使用。这些示例不是针对生产环境设计的,也没有在生产环境中进行测试。对于这些示例,Microsoft 不提供相关的技术支持。

要求

运行此示例包具有以下要求:

  • 示例数据包及其使用的数据文件必须安装在本地硬盘驱动器上。
  • 您必须已安装了 AdventureWorks OLTP 数据库并对其拥有管理权限。
  • 如果仅打算从命令行运行示例包,则必须安装 Integration Services。
  • 若要在 SSIS 设计器中打开包并运行示例包,则必须安装 Business Intelligence Development Studio。

运行此示例包需要下列文件:

文件 说明

AWDWRefresh.dtsx

示例包。

有关如何安装示例的详细信息,请参阅 SQL Server 联机丛书中的“安装示例 Integration Services 包”。

示例包的位置

如果示例安装到了默认位置,则 AWDataWarehouseRefresh 示例包和数据文件将位于以下文件夹中:

C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Package Samples\AWDataWarehouseRefresh\

ms160706.note(zh-cn,SQL.100).gif注意:
如果更改了项目的安装位置,则必须修改包中的 BasePathDataFilePath 变量。

运行示例

可以使用 dtexec 实用工具从命令行运行包,或在 Business Intelligence Development Studio 中运行包。

使用 dtexec 运行包

  1. 打开命令提示符窗口。

  2. 使用**“更改目录”**命令 cd 将目录更改为 C:\Program Files\Microsoft SQL Server\100\DTS\Binn,即 dtexec 所在的位置。

  3. 键入下列命令:

    dtexec /f "C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Package Samples\AWDataWarehouseRefresh\AWDataWarehouseRefresh\AWDWRefresh.dtsx"
    
  4. Enter

有关如何使用 dtexec 实用工具运行包的详细信息,请参阅 SQL Server 联机丛书中的“dtexec 实用工具”主题。

在 Business Intelligence Development Studio 中运行包

  1. 打开 Business Intelligence Development Studio。

  2. 在**“文件”菜单上,指向“打开”,然后单击“项目/解决方案”**。

  3. 将**“文件类型:”设置为“Integration Services 项目文件 (*.dtproj)”**,找到 AWDataWarehouseRefresh文件夹,然后双击名为 AWDataWarehouseRefresh.dtproj 的文件。

  4. 解决方案资源管理器中,右键单击 SSIS Packages 文件夹中的 AWDWRefresh.dtsx,然后单击**“执行包”**。

示例中的组件

下表列出了示例中使用的任务、容器、数据源和目标以及转换。

通过在“控制流”选项卡上选择任何对象,然后按 Shift+Tab 向前逐一遍历对象,可以浏览包中的对象。还可以浏览包的大图片,方法是:单击“控制流”设计图面右下角的四向定位符箭头,然后将视图窗口定位在包上。

因为此包表示生产数据库的示例,所以存在许多对象和容器(分成若干逻辑组)。可以折叠组以便更容易地查看整个包,或者展开组以便更容易地查看特定组中的项。以下按其分组列出了包中的任务和容器。

Database and Tables 组

Database and Tables 组包含一个序列容器、一个 Foreach 循环容器和一个执行 SQL 任务。而这些容器又包含此表中列出的任务。

元素 用途

序列容器

Prepare New Database 序列容器包含三个用于创建新数据库和设置数据库选项的执行 SQL 任务。该序列后跟一个 Foreach 循环容器和另一个执行 SQL 任务。

执行 SQL 任务

Drop database 执行 SQL 任务删除 AdvWorksDWX 的所有现有实例。

执行 SQL 任务

Create database 执行 SQL 任务创建新的数据库 AdvWorksDWX

执行 SQL 任务

Set database options 执行 SQL 任务执行 ALTER DATABASE 语句。

Foreach 循环容器

Create tables Foreach 循环容器包含一个执行 SQL 任务,该任务可运行与文件筛选器 CreateTable-*.sql 匹配的文件中的 SQL 语句。

执行 SQL 任务

通过运行 Foreach 循环中指定的文件中的 SQL 语句在 AdvWorksDWX 数据库中创建表。

执行 SQL 任务

Create udfMinimumDate function 执行 SQL 任务使用 SQL 语句的直接输入创建用户定义函数。

Temporary Tables 组

Temporary Tables 组包含两个 Foreach 循环,每个 Foreach 循环都包含一个执行 SQL 任务,该任务循环包含在文件中的 SQL 语句。包含文件的文件夹位置由文件连接管理器定义。

元素 用途

Foreach 循环容器

Drop temp tables Foreach 循环包含一个执行 SQL 任务,该任务可运行与文件筛选器 DropTempTable-*.sql 匹配的文件中的 SQL 语句。

执行 SQL 任务

通过运行 Foreach 循环中指定的文件中的 SQL 语句,在 AdventureWorks 数据库中删除临时表。

Foreach 循环容器

Create temp tables Foreach 循环包含一个执行 SQL 任务,该任务可运行与文件筛选器 CreateTempTable-*.sql 匹配的文件中的 SQL 语句。

执行 SQL 任务

通过运行 Foreach 循环中指定的文件中的 SQL 语句,在 AdventureWorks 数据库中创建临时表。

Load Temporary Tables 组

Load temporary tables 组包含七个将数据从 .csv 文件加载到 AdventureWorks 数据库中的临时表的大容量插入任务。

元素 用途

大容量插入任务

Bulk Insert tempProductSubcategory-ForeignNames 大容量插入任务将数据插入到临时表。

大容量插入任务

Bulk Insert tempProduct-ForeignNames 大容量插入任务将数据插入到临时表。

大容量插入任务

Bulk Insert tempStore-MinPayment 大容量插入任务将数据插入到临时表。

大容量插入任务

Bulk Insert tempProductCategory-ForeignNames 大容量插入任务将数据插入到临时表。

大容量插入任务

Bulk Insert tempCustomer-YearlyIncome 大容量插入任务将数据插入到临时表。

大容量插入任务

Bulk Insert tempIndividual-ForeignData 大容量插入任务将数据插入到临时表。

大容量插入任务

Bulk Insert tempSpecialOffer-ForeignData 大容量插入任务将数据插入到临时表。

Create Keys and Indexes 组

Create Keys and Indexes 组包含四个通过优先约束连接的执行 SQL 任务,也包含一个 Foreach 循环容器。

元素 用途

执行 SQL 任务

Add Primary Keys 执行 SQL 任务为 AdvWorksDWX 的新表创建主键。

执行 SQL 任务

Add Indexes 执行 SQL 任务在 AdvWorksDWX 中的新表上创建索引。

执行 SQL 任务

Add Foreign Key Constraints 执行 SQL 任务将约束添加到 AdvWorksDWX 的新表中。

执行 SQL 任务

Drop udfMinimumDate function 执行 SQL 任务删除 AdvWorksDWX 的用户定义函数。

Foreach 循环容器

Drop temp tables 1 Foreach 循环容器包含一个执行 SQL 任务,该任务可运行与文件筛选器 DropTempTable-*.sql 匹配的文件中的 SQL 语句。

执行 SQL 任务

通过运行 Foreach 循环中指定的文件中的 SQL 语句,从AdventureWorks 数据库中删除临时表。

未分组任务

该包还包含 25 个任务,这些任务不在任何组中,但执行在其他组的任务之间移动数据的操作。

元素 用途

大容量插入任务

Bulk Insert FactFinance 大容量插入任务将数据从 .csv 文件加载到 AdvWorksDWX 中的事实数据表。

大容量插入任务

Bulk Insert DimAccount 大容量插入任务将数据从 .csv 文件加载到 AdvWorksDWX 中的维度表。

大容量插入任务

Bulk Insert AdventureWorksDWBuildVersion 大容量插入任务更新 AdvWorksDWX 中的数据仓库的版本信息。

数据流任务

Data Flow Task - DimPromotion 数据流任务包含一个 OLE DB 源和一个 SQL Server 目标。数据流运行对 AdventureWorks 的查询以标识促销并将结果写入 AdvWorkDWX 中的维度表。

大容量插入任务

Bulk Insert DimOrganization 大容量插入任务将数据从 .csv 文件加载到 AdvWorksDWX 中的维度表。

数据流任务

Data Flow Task - DimSalesReason 数据流任务包含一个 OLE DB 源和一个 SQL Server 目标。数据流运行对 AdventureWorks 的查询以查找销售原因并将结果写入 AdvWorkDWX 中的维度表。

数据流任务

Data Flow Task - DimReseller 数据流任务包含一个 OLE DB 源、一个数据转换和一个 SQL Server 目标。数据流执行对 AdventureWorks 的复杂查询(包括条件语句和查找)并将结果写入 AdvWorksDWX 中的维度表。

数据流任务

Data Flow Task - DimEmployee 数据流任务包含一个 OLE DB 源和一个 SQL Server 目标。数据流在 Human Resources 表上执行查找、分配销售人员 ID 并将结果写入 AdvWorksDWX 中的维度表。

数据流任务

Data Flow Task - DimCurrency 数据流任务包含一个 OLE DB 源和一个 SQL Server 目标。数据流提取 currency 表的数据、更改列名并将数据写入 AdvWorksDWX 中的维度表。

大容量插入任务

Bulk Insert DimScenario 大容量插入任务将数据从 .csv 文件加载到 AdvWorksDWX 中的维度表。

大容量插入任务

Bulk Insert - DimTime 大容量插入任务将数据从 .csv 文件加载到 AdvWorksDWX 中的维度表。

数据流任务

Data Flow Task - FactSalesQuota 数据流任务包含一个 OLE DB 源和一个 SQL Server 目标。数据流提取销售人员的配额并更新 AdvWorksDXW 中的事实数据表。

数据流任务

Data Flow Task - FactCurrencyRate 数据流任务包含一个 OLE DB 源和一个 SQL Server 目标。该数据流提取货币信息并使用 SQL 语句转换货币信息,然后更新 AdvWorksDXW 中的事实数据表。

数据流任务

Data Flow Task - DimProduct 数据流任务包含一个 OLE DB 源和一个 SQL Server 目标。数据流使用 SQL 语句对临时表中的数据进行复杂处理,然后更新 ADvWorksDWX 中的维度表。

数据流任务

Data Flow Task - DimProductCategory 数据流任务包含一个 OLE DB 源和一个 SQL Server 目标。数据流将国外的产品类别名称映射到英语类别名称并更新 ADvWorksDWX 中的维度表。

数据流任务

Data Flow Task - DimProductsSubcategory 数据流任务包含一个 OLE DB 源和一个 SQL Server 目标。数据流提取引用表中的产品类别的转换,然后更新 ADvWorksDWX 中的维度表。

数据流任务

Data Flow Task - DimGeography 数据流任务包含一个 OLE DB 源和一个 SQL Server 目标。数据流在引用表中查找地址,然后将结果写入 AdvWorksDWX 中的维度表。

数据流任务

Data Flow Task - DimCustomer 数据流任务包含一个 OLE DB 源和一个 SQL Server 目标。数据流获得多个输入 - DimGeography 和两个临时表中的数据 - 并提取数据来更新 AdvWorksDWX 中的维度表。

数据流任务

Data Flow Task - FactInternetSalesReason 数据流任务包含一个 OLE DB 源和一个 SQL Server 目标。数据流提取 AdventureWorks 中的数据并更新 AdvWorksDWX 中的事实数据表。

数据流任务

Data Flow Task - DimSalesTerritory 1 数据流任务包含一个 OLE DB 源和一个 SQL Server 目标。数据流查找区域的区域代码并将结果写入 AdvWorksDWX 中的维度表。

数据流任务

Data Flow Task - DimSalesTerritory 2 数据流任务包含一个 OLE DB 源和一个 SQL Server 目标。数据流将国家/地区映射添加到以前的数据流中处理的数据。

数据流任务

Data Flow Task - DimDepartmentGroup 数据流任务包含一个 OLE DB 源和一个 SQL Server 目标。数据流将所有的组名更改为 Corporate 并将值写入 AdvWorksDWX 中的维度表。

数据流任务

Data Flow Task - DimDepartmentGroup 1 数据流任务包含一个 OLE DB 源和一个 SQL Server 目标。数据流在 Human Resources 表中查找组名并更新 AdvWorksDWX 的维度表中的值。

数据流任务

Data Flow Task - FactInternetSales 数据流任务包含一个 OLE DB 源和一个 SQL Server 目标。数据流使用来自其他任务的多个输入(包括新创建的用户定义函数),并更新 AdvWorksDWX 中的事实数据表。

数据流任务

Data Flow Task - FactResellerSales 数据流任务包含一个 OLE DB 源和一个 SQL Server 目标。数据流使用来自其他任务的多个输入(包括新创建的用户定义函数),并更新 AdvWorksDWX 中的事实数据表。