AWDataWarehouseRefresh-Paketbeispiel

Das AWDataWarehouseRefresh-Beispielpaket veranschaulicht, wie Benutzertabellen in der neuen AdvWorksDWX-Datenbank mit Daten aus der AdventureWorks-Datenbank erstellt und aufgefüllt werden. Es werden mehrere Transact-SQL-Skripts ausgeführt, um die Tabellen zu erstellen, und anschließend werden mehrere Tasks SQL ausführen gestartet, um die Tabellen aufzufüllen.

ms160706.note(de-de,SQL.90).gifWichtig:
Die Beispiele dienen nur zu Lernzwecken. Sie sind nicht für den Einsatz in einer Produktionsumgebung gedacht und wurden auch nicht in einer Produktionsumgebung getestet. Microsoft leistet keinen technischen Support für diese Beispiele.

Anforderungen

Zum Ausführen dieses Beispielpakets ist Folgendes erforderlich:

  • Das Beispielpaket und die von diesem verwendeten Daten müssen auf dem lokalen Festplattenlaufwerk installiert sein.
  • Sie müssen die AdventureWorks OLTP-Datenbank installiert haben und über Administratorrechte für diese Datenbank verfügen.
  • Wenn Sie beabsichtigen, das Beispielpaket lediglich über die Befehlszeile auszuführen, müssen Sie SQL Server 2005 Integration Services (SSIS) installieren.
  • Wenn Sie beabsichtigen, das Paket im SSIS-Designer zu öffnen und das Beispielpaket auszuführen, müssen Sie Business Intelligence Development Studio installieren.

Zum Ausführen des Beispielpakets sind die folgenden Dateien erforderlich.

Datei Beschreibung

AWDWRefresh.dtsx

Das Beispielpaket

Weitere Informationen zum Installieren von Beispielen finden Sie unter "Installieren von Integration Services-Beispielpaketen" in der SQL Server 2005-Onlinedokumentation. Wenn Sie die aktuelle Version der Beispiele erhalten möchten, einschließlich neuer Beispiele, die nach der ursprünglichen Version von SQL Server 2005 veröffentlicht wurden, finden Sie entsprechende Informationen unter SQL Server 2005 Samples and Sample Databases (April 2006) (in Englisch).

Speicherort des Beispielpakets

Wenn die Beispiele im Standardverzeichnis installiert wurden, befinden sich das AWDataWarehouseRefresh-Beispielpaket und die Datendateien im folgenden Ordner:

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

ms160706.note(de-de,SQL.90).gifHinweis:
Wenn Sie den Installationsspeicherort des Projekts geändert haben, müssen Sie auch die BasePath- und DataFilePath-Variablen im Paket ändern.

Ausführen des Beispiels

Das Paket kann von der Befehlszeile aus mithilfe des Dienstprogramms dtexec oder in Business Intelligence Development Studio ausgeführt werden.

So führen Sie das Paket mithilfe von dtexec aus

  1. Öffnen Sie ein Eingabeaufforderungsfenster.

  2. Ändern Sie mit dem Befehl zum Wechseln des Verzeichnisses, cd, das Verzeichnis in C:\Programme\Microsoft SQL Server\90\DTS\Binn, dem Speicherort von dtexec.

  3. Geben Sie folgenden Befehl ein:

    dtexec /f "C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\AWDataWarehouseRefresh\AWDataWarehouseRefresh\AWDWRefresh.dtsx"
    
  4. Drücken Sie die Eingabetaste.

Weitere Informationen zum Ausführen des Pakets mithilfe des Dienstprogramms dtexec finden Sie im Thema "dtexec (Dienstprogramm)" in der SQL Server 2005-Onlinedokumentation.

So führen Sie das Paket in Business Intelligence Development Studio aus

  1. Öffnen Sie Business Intelligence Development Studio.

  2. Zeigen Sie im Menü Datei auf Öffnen, und klicken Sie dann auf Projekt/Projektmappe.

  3. Legen Sie den Dateityp: auf Integration Services-Projektdateien (*.dtproj) fest, navigieren Sie zum Ordner AWDataWarehouseRefresh, und doppelklicken Sie auf die Datei AWDataWarehouseRefresh.dtproj.

  4. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf AWDWRefresh.dtsx im Ordner SSIS-Pakete, und klicken Sie dann auf Paket ausführen.

Komponenten im Beispiel

Die folgende Tabelle führt die im Beispiel verwendeten Tasks, Quellen, Ziele und Transformationen auf.

Sie können die im Paket enthaltenen Objekte durchsuchen, indem Sie auf der Registerkarte Ablaufsteuerung ein Objekt auswählen und dann mit UMSCHALTTASTE+TAB die Objekte nacheinander anzeigen. Sie können das Paket auch im Überblick anzeigen, indem Sie in der unteren rechten Ecke auf der Entwurfsoberfläche der Ablaufsteuerung auf den Vierfachpfeil klicken und das Sichtfenster über dem Paket positionieren.

Da dieses Paket einem Beispiel für eine Produktionsdatenbank entspricht, enthält es möglicherweise zahlreiche, in logischen Gruppen organisierte Objekte und Container. Sie können die Gruppen reduzieren, um damit das gesamte Paket besser anzeigen zu können, oder Sie können eine Gruppe erweitern, um die darin enthaltenen Elemente besser anzuzeigen. Die Tasks und Container des Pakets werden hier nach Gruppen sortiert aufgeführt.

Gruppe Database and Tables

Die Gruppe Database and tables enthält einen Sequenzcontainer, einen Foreach-Schleifencontainer und einen Task SQL ausführen. Diese Container enthalten wiederum die in der Tabelle aufgeführten Aufgaben.

Element Zweck

Sequenzcontainer

Der Sequenzcontainer Prepare New Database enthält drei Tasks SQL ausführen, mit denen die neue Datenbank erstellt und die Datenbankoptionen festgelegt werden. Auf die Sequenz folgt ein Foreach-Schleifencontainer und dann ein weiterer Task SQL ausführen.

Task SQL ausführen

Der Task SQL ausführen Drop database löscht alle Instanzen von AdvWorksDWX.

Task SQL ausführen

Der Task SQL ausführen Create database erstellt eine neue Datenbank mit der Bezeichnung AdvWorksDWX.

Task SQL ausführen

Der Task SQL ausführen Set database options führt eine ALTER DATABASE-Anweisung aus.

Foreach-Schleifencontainer

Der Foreach-Schleifencontainer Create tables enthält einen Task SQL ausführen, der SQL-Anweisungen aus Dateien ausführt, die dem Dateifilter CreateTable-*.sql entsprechen.

Task SQL ausführen

Erstellt Tabellen in der AdvWorksDWX-Datenbank, indem er SQL-Anweisungen aus Dateien ausführt, die in der Foreach-Schleife angegeben sind.

Task SQL ausführen

Der Task SQL ausführen Create udfMinimumDate function erstellt eine benutzerdefinierte Funktion durch Verwenden von direkten Eingaben aus einer SQL-Anweisung.

Gruppe Temporary Tables

Die Gruppe Temporary Tables enthält zwei Foreach-Schleifen mit jeweils einem Task SQL ausführen, der die SQL-Anweisungen in Dateien durchläuft. Der Speicherort des Ordners, in dem die Dateien enthalten sind, ist durch einen Dateiverbindungs-Manager definiert.

Element Zweck

Foreach-Schleifencontainer

Der Foreach-Schleifencontainer Drop temp tables enthält einen Task SQL ausführen, der SQL-Anweisungen aus Dateien ausführt, die dem Dateifilter DropTempTable-*.sql entsprechen.

Task SQL ausführen

Löscht temporäre Tabellen in der AdventureWorks-Datenbank, indem er SQL-Anweisungen aus Dateien ausführt, die in der Foreach-Schleife angegeben sind.

Foreach-Schleifencontainer

Der Foreach-Schleifencontainer Create temp tables enthält einen Task SQL ausführen, der SQL-Anweisungen aus Dateien ausführt, die dem Dateifilter CreateTempTable-*.sql entsprechen.

Task SQL ausführen

Erstellt temporäre Tabellen in der AdventureWorks-Datenbank, indem er SQL-Anweisungen aus Dateien ausführt, die in der Foreach-Schleife angegeben sind.

Gruppe Load Temporary Tables

Die Gruppe Load temporary tables enthält sieben Masseneinfügungstasks, die Daten aus CSV-Dateien in temporäre Tabellen in der AdventureWorks-Datenbank laden.

Element Zweck

Masseneinfügungstask

Der Masseneinfügungstask Bulk Insert tempProductSubcategory-ForeignNames fügt Daten in eine temporäre Tabelle ein.

Masseneinfügungstask

Der Masseneinfügungstask Bulk Insert tempProduct-ForeignNames fügt Daten in eine temporäre Tabelle ein.

Masseneinfügungstask

Der Masseneinfügungstask Bulk Insert tempStore-MinPayment fügt Daten in eine temporäre Tabelle ein.

Masseneinfügungstask

Der Masseneinfügungstask Bulk Insert tempProductCategory-ForeignNames fügt Daten in eine temporäre Tabelle ein.

Masseneinfügungstask

Der Masseneinfügungstask Bulk Insert tempCustomer-YearlyIncome fügt Daten in eine temporäre Tabelle ein.

Masseneinfügungstask

Der Masseneinfügungstask Bulk Insert tempIndividual-ForeignData fügt Daten in eine temporäre Tabelle ein.

Masseneinfügungstask

Der Masseneinfügungstask Bulk Insert tempSpecialOffer-ForeignData fügt Daten in eine temporäre Tabelle ein.

Gruppe Create Keys and Indexes

Die Gruppe Create Keys and Indexes enthält vier Tasks SQL ausführen, die mit Rangfolgeneinschränkungen verbunden sind. Darüber hinaus enthält diese Gruppe einen Foreach-Schleifencontainer.

Element Zweck

Task SQL ausführen

Der Task SQL ausführen Add Primary Keys erstellt Primärschlüssel auf der neuen Tabelle in AdvWorksDWX.

Task SQL ausführen

Der Task SQL ausführen Add Indexes indiziert die neuen Tabellen in AdvWorksDWX.

Task SQL ausführen

Der Task SQL ausführen Add Foreign Key Constraints fügt den neuen Tabellen in AdvWorksDWX Einschränkungen hinzu.

Task SQL ausführen

Der Task SQL ausführen Drop udfMinimumDate function löscht die benutzerdefinierte Funktion aus AdvWorksDWX.

Foreach-Schleifencontainer

Der Foreach-Schleifencontainer Drop temp tables 1 enthält einen Task SQL ausführen, der SQL-Anweisungen aus Dateien ausführt, die dem Dateifilter DropTempTable-*.sql entsprechen.

Task SQL ausführen

Löscht temporäre Tabellen aus der AdventureWorks-Datenbank, indem er SQL-Anweisungen aus Dateien ausführt, die in der Foreach-Schleife angegeben sind.

Nicht gruppierte Tasks

Das Paket enthält zudem 25 Tasks, die keiner Gruppe angehören, die aber Vorgänge ausführen, mit denen Daten zwischen den Tasks in den anderen Gruppen verschoben werden.

Element Zweck

Masseneinfügungstask

Der Masseneinfügungstask Bulk Insert FactFinance lädt Daten aus einer .csv-Datei in eine Faktentabelle in AdvWorksDWX.

Masseneinfügungstask

Der Masseneinfügungstask Bulk Insert DimAccount lädt Daten aus einer .csv-Datei in eine Dimensionstabelle in AdvWorksDWX.

Masseneinfügungstask

Der Masseneinfügungstask Bulk Insert AdventureWorksDWBuildVersion aktualisiert die Versionsinformationen für das Data Warehouse in AdvWorksDWX.

Datenflusstask

Der Datenflusstask Data Flow Task - DimPromotion enthält eine OLE DB-Quelle und ein SQL Server-Ziel. Der Datenfluss führt eine Abfrage für AdventureWorks aus, um Werbeaktionen zu identifizieren, und schreibt die Ergebnisse in eine Dimensionstabelle in AdvWorkDWX.

Masseneinfügungstask

Der Masseneinfügungstask Bulk Insert DimOrganization lädt Daten aus einer .csv-Datei in eine Dimensionstabelle in AdvWorksDWX.

Datenflusstask

Der Datenflusstask Data Flow Task - DimSalesReason enthält eine OLE DB-Quelle und ein SQL Server-Ziel. Der Datenfluss führt eine Abfrage für AdventureWorks aus, um Sales Reasons nachzuschlagen, und schreibt die Ergebnisse in eine Dimensionstabelle in AdvWorkDWX.

Datenflusstask

Der Datenflusstask Data Flow Task - DimReseller enthält eine OLE DB-Quelle, eine Transformation für Datenkonvertierung und ein SQL Server-Ziel. Der Datenfluss führt eine komplexe Abfrage (einschließlich Bedingungsanweisungen und Suchvorgänge) für AdventureWorks durch und schreibt die Ergebnisse in eine Dimensionstabelle in AdvWorksDWX.

Datenflusstask

Der Datenflusstask Data Flow Task - DimEmployee enthält eine OLE DB-Quelle und ein SQL Server-Ziel. Der Datenflusstask führt Suchvorgänge in einer Human Resources-Tabelle aus, weist Verkäufer-IDs zu und schreibt die Ergebnisse in eine Dimensionstabelle in AdvWorksDWX.

Datenflusstask

Der Datenflusstask Data Flow Task - DimCurrency enthält eine OLE DB-Quelle und ein SQL Server-Ziel. Der Datenflusstask extrahiert Daten aus einer Währungstabelle, ändert die Spaltennamen und schreibt die Daten in eine Dimensionstabelle in AdvWorksDWX.

Masseneinfügungstask

Der Masseneinfügungstask Bulk Insert DimScenario lädt Daten aus einer .csv-Datei in eine Dimensionstabelle in AdvWorksDWX.

Masseneinfügungstask

Der Masseneinfügungstask Bulk Insert DimTime lädt Daten aus einer .csv-Datei in eine Dimensionstabelle in AdvWorksDWX.

Datenflusstask

Der Datenflusstask Data Flow Task - FactSalesQuota enthält eine OLE DB-Quelle und ein SQL Server-Ziel. Der Datenflusstask extrahiert Kontingente für Verkäufer und aktualisiert eine Faktentabelle in AdvWorksDXW.

Datenflusstask

Der Datenflusstask Data Flow Task - FactCurrencyRate enthält eine OLE DB-Quelle und ein SQL Server-Ziel. Vom Datenfluss werden Währungsinformationen mithilfe von SQL-Anweisungen extrahiert und konvertiert. Anschließend wird vom Datenfluss eine Faktentabelle in AdvWorksDXW aktualisiert.

Datenflusstask

Der Datenflusstask Data Flow Task - DimProduct enthält eine OLE DB-Quelle und ein SQL Server-Ziel. Der Datenfluss führt mithilfe von SQL-Anweisungen komplexe Datenverarbeitungsvorgänge in temporären Tabellen durch und aktualisiert dann eine Dimensionstabelle in ADvWorksDWX.

Datenflusstask

Der Datenflusstask Data Flow Task - DimProductCategory enthält eine OLE DB-Quelle und ein SQL Server-Ziel. Der Datenfluss ordnet Kategorien mit ausländischen Produkten englischen Kategorienamen zu und aktualisiert eine Dimensionstabelle in ADvWorksDWX.

Datenflusstask

Der Datenflusstask Data Flow Task - DimProductsSubcategory enthält eine OLE DB-Quelle und ein SQL Server-Ziel. Der Datenfluss extrahiert Übersetzungen für Produktunterkategorien aus einer Verweistabelle und aktualisiert dann eine Dimensionstabelle in ADvWorksDWX.

Datenflusstask

Der Datenflusstask Data Flow Task - DimGeography enthält eine OLE DB-Quelle und ein SQL Server-Ziel. Der Datenfluss sucht Adressen in einer Verweistabelle und schreibt die Ergebnisse in eine Dimensionstabelle in AdvWorksDWX.

Datenflusstask

Der Datenflusstask Data Flow Task - DimCustomer enthält eine OLE DB-Quelle und ein SQL Server-Ziel. Der Datenfluss nimmt mehrere Eingaben (die Daten aus DimGeography und zwei temporären Tabellen) und extrahiert Daten, um eine Dimensionstabelle in AdvWorksDWX zu aktualisieren.

Datenflusstask

Der Datenflusstask Data Flow Task - FactInternetSalesReason enthält eine OLE DB-Quelle und ein SQL Server-Ziel. Der Datenfluss extrahiert Daten aus AdventureWorks und aktualisiert eine Faktentabelle in AdvWorksDWX.

Datenflusstask

Der Datenflusstask Data Flow Task - DimSalesTerritory 1, enthält eine OLE DB-Quelle und ein SQL Server-Ziel. Der Datenfluss sucht Regionalcodes für Gebiete und schreibt die Ergebnisse in eine Dimensionstabelle in AdvWorksDWX.

Datenflusstask

Der Datenflusstask Data Flow Task - DimSalesTerritory 2 enthält eine OLE DB-Quelle und ein SQL Server-Ziel. Der Datenfluss fügt den im vorherigen Datenfluss verarbeiteten Daten Zuordnungen nach Land bzw. Region hinzu.

Datenflusstask

Der Datenflusstask Data Flow Task - DimDepartmentGroup enthält eine OLE DB-Quelle und ein SQL Server-Ziel. Der Datenfluss ändert alle Gruppennamen in Corporate und schreibt die Werte in eine Dimensionstabelle in AdvWorksDWX.

Datenflusstask

Der Datenflusstask Data Flow Task - DimDepartmentGroup 1 enthält eine OLE DB-Quelle und ein SQL Server-Ziel. Der Datenfluss sucht Gruppennamen in einer Human Resources-Tabelle und aktualisiert die Werte in der Dimensionstabelle in AdvWorksDWX.

Datenflusstask

Der Datenflusstask Data Flow Task - FactInternetSales enthält eine OLE DB-Quelle und ein SQL Server-Ziel. Der Datenfluss nimmt mehrere Eingaben aus anderen Tasks, einschließlich der neu erstellten benutzerdefinierten Funktionen, und aktualisiert eine Faktentabelle in AdvWorksDWX.

Datenflusstask

Der Datenflusstask Data Flow Task - FactResellerSales enthält eine OLE DB-Quelle und ein SQL Server-Ziel. Der Datenfluss nimmt mehrere Eingaben aus anderen Tasks, einschließlich der neu erstellten benutzerdefinierten Funktionen, und aktualisiert eine Faktentabelle in AdvWorksDWX.

Beispielergebnisse

Nachdem Sie das Paket mithilfe des Dienstprogramms dtexec ausgeführt haben, sollte ein Ergebnis angezeigt werden, das dem Folgenden ähnelt:

Beispielausgabe:

Microsoft (R) SQL Server Execute Package Utility

Version 9.00.xxxx für 32 Bit

Copyright (C) Microsoft Corp 1984-2005. Alle Rechte vorbehalten.

Gestartet: 1:03:24 PM

Status: 2005-04-12 13:03:35.14

Quelle: Task SQL ausführen

Die Abfrage "IF EXISTS (SELECT * FROM [sys].[tables] WHERE [nam".: wird ausgeführt. 100 % abgeschlossen

Statusende

Status: 2005-04-12 13:03:35.15

Quelle: Task SQL ausführen

Die Abfrage "IF EXISTS (SELECT * FROM [sys].[tables] WHERE [nam".: wird ausgeführt. 100 % abgeschlossen

Statusende

Status: 2005-04-12 13:05:43.77

Quelle: Add Indexes

Die Abfrage "CREATE UNIQUE INDEX [AK_DimAccount_AccountCodeAlte".: wird ausgeführt. 100 % abgeschlossen

Statusende

Status: 2005-04-12 13:05:46.00

Quelle: Add Foreign Key Constraints

Die Abfrage "ALTER TABLE [dbo].[DimAccount] ADD

CONSTRAINT [F".: wird ausgeführt. 100 % abgeschlossen

Statusende

DTExec: Die Paketausführung gab DTSER_SUCCESS (0) zurück.

Gestartet: 1:03:24 AM

Beendet: 1:05:46 AM

Verstrichen: 141.969 Sekunden