AWDataWarehouseRefresh 包示例自述文件
此示例仅适用于 SQL Server 2005 和 SQL Server 2008,而不适用于 SQL Server 2005 之前的任何 SQL Server 版本。
AWDataWarehouseRefresh 示例包说明如何在新的 AdvWorksDWX 数据库中创建用户表,并使用 AdventureWorks 数据库中的数据填充这些表。执行若干 Transact-SQL 脚本以创建表之后,会运行若干执行 SQL 任务以填充这些表。
重要提示: |
---|
提供的示例仅供学习使用。这些示例不是针对生产环境设计的,也没有在生产环境中进行测试。对于这些示例,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\
注意: |
---|
如果更改了项目的安装位置,则必须修改包中的 BasePath 和 DataFilePath 变量。 |
运行示例
可以使用 dtexec 实用工具从命令行运行包,或在 Business Intelligence Development Studio 中运行包。
使用 dtexec 运行包
打开命令提示符窗口。
使用**“更改目录”**命令 cd 将目录更改为 C:\Program Files\Microsoft SQL Server\100\DTS\Binn,即 dtexec 所在的位置。
键入下列命令:
dtexec /f "C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Package Samples\AWDataWarehouseRefresh\AWDataWarehouseRefresh\AWDWRefresh.dtsx"
按 Enter。
有关如何使用 dtexec 实用工具运行包的详细信息,请参阅 SQL Server 联机丛书中的“dtexec 实用工具”主题。
在 Business Intelligence Development Studio 中运行包
打开 Business Intelligence Development Studio。
在**“文件”菜单上,指向“打开”,然后单击“项目/解决方案”**。
将**“文件类型:”设置为“Integration Services 项目文件 (*.dtproj)”**,找到 AWDataWarehouseRefresh文件夹,然后双击名为 AWDataWarehouseRefresh.dtproj 的文件。
在解决方案资源管理器中,右键单击 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 中的事实数据表。 |