次の方法で共有


AWDataWarehouseRefresh パッケージ サンプル

AWDataWarehouseRefresh サンプル パッケージでは、AdventureWorks データベースからのデータを使用して、新しい AdvWorksDWX データベースにユーザー テーブルとその内容を作成する方法について説明します。Transact-SQL スクリプトをいくつか実行してテーブルを作成した後、SQL 実行タスクをいくつか実行してテーブルの内容を作成します。

ms160706.note(ja-jp,SQL.90).gif重要 :
サンプルは、学習に使用することのみを目的に提供されています。これらは、運用環境での使用を目的としたものではなく、運用環境でのテストも実施されていません。Microsoft からは、これらのサンプルについてのテクニカル サポートは提供されません。

必要条件

このサンプル パッケージを実行するための前提条件は次のとおりです。

  • サンプル パッケージとサンプル パッケージが使用するデータ ファイルが、ローカルのハード ディスク ドライブにインストールされている。
  • AdventureWorks OLTP データベースがインストールされていて、そのデータベースに対する管理権限を持っている。
  • コマンド ラインからサンプル パッケージを実行する場合、SQL Server 2005 Integration Services (SSIS) がインストールされている。
  • SSIS デザイナでパッケージを開いてサンプル パッケージを実行する場合、Business Intelligence Development Studio がインストールされている。

このサンプル パッケージの実行には次のファイルが必要です。

ファイル 説明

AWDWRefresh.dtsx

サンプル パッケージです。

サンプルのインストール方法の詳細については、SQL Server 2005 Books Online の「Integration Services サンプル パッケージのインストール」を参照してください。SQL Server 2005 のオリジナル リリース後にリリースされた新しいサンプルを含む、サンプルの最新バージョンを入手するには、「SQL Server 2005 Samples and Sample Databases (April 2006)」を参照してください。

サンプル パッケージの場所

サンプルが既定のインストール場所にインストールされた場合、AWDataWarehouseRefresh サンプル パッケージとデータ ファイルは次のフォルダにあります。

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

ms160706.note(ja-jp,SQL.90).gifメモ :
プロジェクトのインストール場所を変更した場合、パッケージの BasePath 変数と DataFilePath 変数を変更する必要があります。

サンプルの実行

パッケージは、dtexec ユーティリティを使用してコマンド ラインから実行することができます。または、Business Intelligence Development Studio で実行することもできます。

dtexec を使用してパッケージを実行するには

  1. [コマンド プロンプト] ウィンドウを開きます。

  2. ディレクトリを変更する cd コマンドを使用して、dtexec のある、C:\Program Files\Microsoft SQL Server\90\DTS\Binn にディレクトリを変更します。

  3. 次のコマンドを入力します。

    dtexec /f "C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\AWDataWarehouseRefresh\AWDataWarehouseRefresh\AWDWRefresh.dtsx"
    
  4. Enter キーを押します。

dtexec ユーティリティを使用してパッケージを実行する方法の詳細については、SQL Server 2005 Books Online のトピック「dtexec ユーティリティ」を参照してください。

Business Intelligence Development Studio でパッケージを実行するには

  1. Business Intelligence Development Studio を開きます。

  2. [ファイル] メニューの [開く] をポイントし、[プロジェクト/ソリューション] をクリックします。

  3. [ファイルの種類][Integration Services プロジェクト ファイル (*.dtproj)] に設定し、AWDataWarehouseRefresh フォルダを探して、AWDataWarehouseRefresh.dtproj という名前のファイルをダブルクリックします。

  4. [ソリューション エクスプローラ]で、[SSIS パッケージ] フォルダの AWDWRefresh.dtsx を右クリックして、[パッケージの実行] をクリックします。

サンプルのコンポーネント

以下の表に、サンプルで使用されるタスク、コンテナ、データ ソースと変換先、および変換を示します。

パッケージのオブジェクトを参照するには、[制御フロー] タブでオブジェクトを選択し、Shift キーを押しながら Tab キーを押してオブジェクトごとに進みます。また、[制御フロー] のデザイン画面の右下隅にある 4 方向矢印をクリックし、次にパッケージ上でビュー ウィンドウの位置を変更して、パッケージの全体像を参照することもできます。

このパッケージでは運用データベースの例を示しているため、多数のオブジェクトとコンテナがあります。これらは論理グループに収集されています。グループを折りたたんでパッケージ全体を表示しやすくしたり、グループを展開して特定のグループにあるアイテムをよりわかりやすく表示することができます。パッケージのタスクとコンテナは、グループごとにこの位置にリストされます。

Database and Tables グループ

グループ Database and tables には、シーケンス コンテナ、Foreach ループ コンテナ、および SQL 実行タスクが含まれています。コンテナには、さらに次の表のタスクが含まれています。

要素 目的

シーケンス コンテナ

シーケンス コンテナ Prepare New Database には、新しいデータベースの作成とデータベース オプションの設定を行う 3 つの SQL 実行タスクが含まれています。このシーケンスの後には、Foreach ループ コンテナおよび別の SQL 実行タスクが続きます。

SQL 実行タスク

SQL 実行タスク Drop database は、AdvWorksDWX の既存のインスタンスを削除します。

SQL 実行タスク

SQL 実行タスク Create database は、新しいデータベース AdvWorksDWX を作成します。

SQL 実行タスク

SQL 実行タスク Set database options は、ALTER DATABASE ステートメントを実行します。

Foreach ループ コンテナ

Foreach ループ コンテナ Create tables には、ファイル フィルタ CreateTable-*.sql と一致するファイルから SQL ステートメントを実行する SQL 実行タスクが含まれています。

SQL 実行タスク

Foreach ループで指定されたファイルから SQL ステートメントを実行して、AdvWorksDWX データベース内にテーブルを作成します。

SQL 実行タスク

SQL 実行タスク Create udfMinimumDate function は、SQL ステートメントの直接入力を使用して、ユーザー定義関数を作成します。

Temporary Tables グループ

グループ Temporary Tables には 2 つの Foreach ループが含まれており、それぞれに、ファイル内の SQL ステートメントをループする SQL 実行タスクが含まれています。ファイルを含むフォルダの場所は、ファイル接続マネージャによって定義されます。

要素 目的

Foreach ループ コンテナ

Foreach ループ Drop temp tables には、ファイル フィルタ DropTempTable-*.sql と一致するファイルから SQL ステートメントを実行する SQL 実行タスクが含まれています。

SQL 実行タスク

Foreach ループで指定されたファイルから SQL ステートメントを実行して、AdventureWorks データベース内の一時テーブルを削除します。

Foreach ループ コンテナ

Foreach ループ Create temp tables には、ファイル フィルタ CreateTempTable-*.sql と一致するファイルから SQL ステートメントを実行する SQL 実行タスクが含まれています。

SQL 実行タスク

Foreach ループで指定されたファイルから SQL ステートメントを実行して、AdventureWorks データベース内に一時テーブルを作成します。

Load Temporary Tables グループ

グループ Load temporary tables には、.csv ファイルからのデータを AdventureWorks データベース内の一時テーブルに読み込む 7 つの一括挿入タスクが含まれています。

要素 目的

一括挿入タスク

一括挿入タスク 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 実行タスク

SQL 実行タスク Add Primary Keys は、AdvWorksDWX 内の新しいテーブルで主キーを作成します。

SQL 実行タスク

SQL 実行タスク Add Indexes は、AdvWorksDWX 内の新しいテーブルのインデックスを作成します。

SQL 実行タスク

SQL 実行タスク Add Foreign Key Constraints は、AdvWorksDWX 内の新しいテーブルに外部キー制約を追加します。

SQL 実行タスク

SQL 実行タスク Drop udfMinimumDate function は、ユーザー定義関数を AdvWorksDWX から削除します。

Foreach ループ コンテナ

Foreach ループ コンテナ Drop temp tables 1 には、ファイル フィルタ DropTempTable-*.sql と一致するファイルから 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 変換先が含まれています。データ フローは人事テーブルに対して検索を実行し、販売員 ID を割り当てて、その結果を AdvWorksDWX のディメンション テーブルに書き込みます。

データ フロー タスク

データ フロー タスク Data Flow Task - DimCurrency には、OLE DB ソースおよび SQL Server 変換先が含まれています。データ フローは、通貨テーブルからデータを抽出して、列名を変更し、そのデータを 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 のデータ、および 2 つの一時テーブル) を受け取り、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 変換先が含まれています。データ フローはすべてのグループ名を「企業」に変更し、その値を AdvWorksDWX 内のディメンション テーブルに書き込みます。

データ フロー タスク

データ フロー タスク Data Flow Task - DimDepartmentGroup 1 には、OLE DB ソースおよび SQL Server 変換先が含まれています。データ フローは、人事テーブル内のグループ名を検索し、その値を AdvWorksDWX 内のディメンション テーブルに書き込みます。

データ フロー タスク

データ フロー タスク Data Flow Task - FactInternetSales には、OLE DB ソースおよび SQL Server 変換先が含まれています。データ フローは、新しく作成されたユーザー定義関数を含む、複数の入力をその他のタスクから受け取り、AdvWorksDWX 内のファクト テーブルを更新します。

データ フロー タスク

データ フロー タスク Data Flow Task - FactResellerSales には、OLE DB ソースおよび SQL Server 変換先が含まれています。データ フローは、新しく作成されたユーザー定義関数を含む、複数の入力をその他のタスクから受け取り、AdvWorksDWX 内のファクト テーブルを更新します。

サンプル結果

dtexec ユーティリティを使用してパッケージを実行した後、次のような結果が表示されます。

サンプルの出力

Microsoft (R) SQL Server Execute Package Utility

Version 9.00.xxxx for 32-bit

Copyright (C) Microsoft Corp 1984-2005. All rights reserved.

開始: 13:03:24 PM

進捗状況: 2005-04-12 13:03:35.14

ソース : Execute SQL Task

クエリ "IF EXISTS (SELECT * FROM [sys].[tables] WHERE [nam" を実行しています。: 100% の完了

進捗状況の終了

進捗状況: 2005-04-12 13:03:35.15

ソース : Execute SQL Task

クエリ "IF EXISTS (SELECT * FROM [sys].[tables] WHERE [nam" を実行しています。: 100% の完了

進捗状況の終了

進捗状況: 2005-04-12 13:05:43.77

ソース: Add Indexes

クエリ "CREATE UNIQUE INDEX [AK_DimAccount_AccountCodeAlte" を実行しています。: 100% の完了

進捗状況の終了

進捗状況: 2005-04-12 13:05:46.00

ソース: Add Foreign Key Constraints

クエリ "ALTER TABLE [dbo].[DimAccount] ADD

CONSTRAINT [F" を実行しています。: 100% の完了

進捗状況の終了

DTExec: パッケージの実行から返されました DTSER_SUCCESS (0)

開始: 13:03:24 PM

完了: 1:05:46 PM

経過時間: 141.969 秒