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.
Wichtig: |
---|
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\
Hinweis: |
---|
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
Öffnen Sie ein Eingabeaufforderungsfenster.
Ä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.
Geben Sie folgenden Befehl ein:
dtexec /f "C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\AWDataWarehouseRefresh\AWDataWarehouseRefresh\AWDWRefresh.dtsx"
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
Öffnen Sie Business Intelligence Development Studio.
Zeigen Sie im Menü Datei auf Öffnen, und klicken Sie dann auf Projekt/Projektmappe.
Legen Sie den Dateityp: auf Integration Services-Projektdateien (*.dtproj) fest, navigieren Sie zum Ordner AWDataWarehouseRefresh, und doppelklicken Sie auf die Datei AWDataWarehouseRefresh.dtproj.
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