Exemple de package AWDataWarehouseRefresh

L'exemple de package AWDataWarehouseRefresh illustre comment créer et remplir des tables utilisateur dans la nouvelle base de données AdvWorksDWX en utilisant les informations de la base de données AdventureWorks. Plusieurs scripts Transact-SQL sont exécutés pour créer les tables qui sont ensuite remplies à l'aide de tâches d'exécution SQL.

ms160706.note(fr-fr,SQL.90).gifImportant :
Les exemples sont fournis uniquement à titre éducatif. Ils ne sont pas destinés à être utilisés dans un environnement de production et n'ont pas été testés à cet usage. Microsoft ne fournit aucun support technique pour ces exemples.

Configuration requise

L'exécution de cet exemple de package nécessite les éléments suivants :

  • L'exemple de package et les fichiers de données qu'il utilise doivent être installés sur le disque dur local.
  • Vous devez avoir installé la base de données OLTP AdventureWorks et y bénéficier des autorisations administratives.
  • Si vous comptez seulement exécuter l'exemple de package à partir de la ligne de commande, vous devez installer SQL Server 2005 Integration Services (SSIS).
  • Si vous avez l'intention d'ouvrir et d'exécuter le package dans le Concepteur SSIS, vous devez installer Business Intelligence Development Studio.

Les fichiers suivants sont nécessaires pour exécuter cet exemple de package.

Fichier Description

AWDWRefresh.dtsx

Exemple de package.

Pour plus d'informations sur l'installation des exemples, consultez « Installation des exemples de packages Integration Services » dans la documentation en ligne de SQL Server 2005. Pour vous procurer la dernière version des exemples, y compris les nouveaux exemples publiés depuis la version d'origine de SQL Server 2005, consultez Exemples et exemples de base de données SQL Server 2005 (avril 2006).

Emplacement de l'exemple de package

Si les exemples ont été installés à l'emplacement par défaut, l'exemple de package et les fichiers de données AWDataWarehouseRefresh se trouvent dans le dossier suivant :

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

ms160706.note(fr-fr,SQL.90).gifRemarque :
Si vous avez installé le projet à un emplacement différent, vous devez modifier les variables BasePath et DataFilePath dans le package.

Exécution de l'exemple

Le package peut être exécuté soit à partir de la ligne de commande à l'aide de l'utilitaire dtexec, soit dans Business Intelligence Development Studio.

Pour exécuter le package à l'aide de dtexec

  1. Ouvrez une fenêtre d'invite de commandes.

  2. Utilisez la commande Changer de répertoire, cd, pour basculer vers le répertoire C:\Program Files\Microsoft SQL Server\90\DTS\Binn, l'emplacement de dtexec.

  3. Tapez la commande suivante :

    dtexec /f "C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\AWDataWarehouseRefresh\AWDataWarehouseRefresh\AWDWRefresh.dtsx"
    
  4. Appuyez sur Entrée.

Pour plus d'informations sur l'exécution du package à l'aide de l'utilitaire dtexec, consultez la rubrique « Utilitaire dtexec » dans la documentation en ligne de SQL Server 2005.

Pour exécuter le package dans Business Intelligence Development Studio

  1. Ouvrez Business Intelligence Development Studio.

  2. Dans le menu Fichier, pointez sur Ouvrir, puis cliquez sur Projet/Solution.

  3. Dans la liste Types de fichiers :, sélectionnez Fichiers de projet Integration Services (*.dtproj) et, dans le dossier AWDataWarehouseRefresh, double-cliquez sur le fichier nommé AWDataWarehouseRefresh.dtproj.

  4. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur AWDWRefresh.dtsx dans le dossier SSIS Packages, puis cliquez sur Exécuter le package.

Composants de l'exemple

Le tableau suivant répertorie les tâches, les conteneurs, les sources et les destinations de données, ainsi que les transformations qui sont utilisés dans l'exemple.

Vous pouvez parcourir les objets du package en sélectionnant un objet sous l'onglet Flux de contrôle et en appuyant sur Maj+Tab pour consulter les objets un par un. Vous pouvez aussi afficher une vue d'ensemble du package en cliquant sur la flèche de recherche quadridirectionnelle située dans le coin inférieur droit de la zone de conception du flux de contrôle, puis en positionnant la fenêtre d'affichage sur le package.

Comme ce package représente un exemple de base de données de production, il comporte de nombreux objets et conteneurs organisés en groupes logiques. Vous pouvez réduire les groupes pour avoir une vue d'ensemble du package ou développer un groupe particulier pour mieux voir les éléments qu'il contient. Les tâches et les conteneurs du package sont répertoriés ici en fonction des groupes dont ils font partie.

Groupe Base de données et tables

Le groupe Base de données et tables, Database and tables, contient un conteneur de séquence, un conteneur de boucle Foreach et une tâche d'exécution SQL. Ces conteneurs incluent à leur tour les tâches répertoriées dans cette table.

Élément Fonction

Conteneur de séquence

Ce conteneur de séquence, Prepare New Database, contient trois tâches d'exécution SQL qui créent la nouvelle base de données et définissent des options de base de données. La séquence est suivie par un conteneur de boucle Foreach et une autre tâche d'exécution SQL.

Tâche d'exécution SQL

Cette tâche d'exécution SQL, Drop database, supprime toutes les instances existantes de AdvWorksDWX.

Tâche d'exécution SQL

Cette tâche d'exécution SQL, Create database, crée une nouvelle base de données, AdvWorksDWX.

Tâche d'exécution SQL

Cette tâche d'exécution SQL, Set database options, exécute une instruction ALTER DATABASE.

Conteneur de boucle Foreach

Le conteneur de boucles Foreach, Create tables, contient une tâche d'exécution SQL qui exécute des instructions SQL à partir des fichiers qui correspondent au filtre de fichiers CreateTable-*.sql.

Tâche d'exécution SQL

Cette tâche d'exécution SQL crée des tables dans la base de données AdvWorksDWX en exécutant des instructions SQL à partir des fichiers spécifiés dans la boucle Foreach.

Tâche d'exécution SQL

Cette tâche d'exécution SQL, Create udfMinimumDate function, crée une fonction définie par l'utilisateur à l'aide de l'entrée directe d'une instruction SQL.

Groupe Tables temporaires

Le groupe Tables temporaires, Temporary Tables, réunit deux boucles Foreach contenant chacune une tâche d'exécution SQL qui exécute itérativement les instructions SQL contenues dans les fichiers. L'emplacement du dossier contenant les fichiers est défini par un gestionnaire de connexions de fichiers.

Élément Fonction

Conteneur de boucle Foreach

Ce conteneur de boucles Foreach, Drop temp tables, contient une tâche d'exécution SQL qui exécute des instructions SQL à partir des fichiers qui correspondent au filtre de fichiers DropTempTable-*.sql.

Tâche d'exécution SQL

Cette tâche d'exécution SQL supprime les tables temporaires dans la base de données AdventureWorks en exécutant des instructions SQL à partir des fichiers spécifiés dans la boucle Foreach.

Conteneur de boucle Foreach

Le conteneur de boucles Foreach, Create temp tables, contient une tâche d'exécution SQL qui exécute des instructions SQL à partir des fichiers qui correspondent au filtre de fichiers CreateTempTable-*.sql.

Tâche d'exécution SQL

Cette tâche d'exécution SQL crée des tables temporaires dans la base de données AdventureWorks en exécutant des instructions SQL à partir des fichiers spécifiés dans la boucle Foreach.

Groupe Chargement des tables temporaires

Le groupe Chargement des tables temporaires, Load temporary tables, contient sept tâches d'insertion en bloc qui chargent les données de fichiers .csv dans des tables temporaires de la base de données AdventureWorks.

Élément Fonction

Tâche d'insertion en bloc

Cette tâche d'insertion en bloc, Bulk Insert tempProductSubcategory-ForeignNames, insère des données dans une table temporaire.

Tâche d'insertion en bloc

Cette tâche d'insertion en bloc, Bulk Insert tempProduct-ForeignNames, insère des données dans une table temporaire.

Tâche d'insertion en bloc

Cette tâche d'insertion en bloc, Bulk Insert tempStore-MinPayment, insère des données dans une table temporaire.

Tâche d'insertion en bloc

Cette tâche d'insertion en bloc, Bulk Insert tempProductCategory-ForeignNames, insère des données dans une table temporaire.

Tâche d'insertion en bloc

Cette tâche d'insertion en bloc, Bulk Insert tempCustomer-YearlyIncome, insère des données dans une table temporaire.

Tâche d'insertion en bloc

Cette tâche d'insertion en bloc, Bulk Insert tempIndividual-ForeignData, insère des données dans une table temporaire.

Tâche d'insertion en bloc

Cette tâche d'insertion en bloc, Bulk Insert tempSpecialOffer-ForeignData, insère des données dans une table temporaire.

Groupe Création de clés et d'index

Le groupe Création de clés et d'index, Create Keys and Indexes, contient quatre tâches d'exécution SQL connectées par des contraintes de priorité, ainsi qu'un conteneur de boucle Foreach.

Élément Fonction

Tâche d'exécution SQL

Cette tâche d'exécution SQL, Add Primary Keys, crée des clés primaires sur les nouvelles tables de la base de données AdvWorksDWX.

Tâche d'exécution SQL

Cette tâche d'exécution SQL, Add Indexes, indexe les nouvelles tables de la base de données AdvWorksDWX.

Tâche d'exécution SQL

Cette tâche d'exécution SQL, Add Foreign Key Constraints, ajoute des contraintes aux nouvelles tables de la base de données AdvWorksDWX.

Tâche d'exécution SQL

Cette tâche d'exécution SQL, Drop udfMinimumDate function, supprime la fonction définie par l'utilisateur de la base de données AdvWorksDWX.

Conteneur de boucle Foreach

Le conteneur de boucles Foreach, Drop temp tables 1, contient une tâche d'exécution SQL qui exécute des instructions SQL à partir des fichiers qui correspondent au filtre de fichiers DropTempTable-*.sql.

Tâche d'exécution SQL

Cette tâche d'exécution SQL supprime les tables temporaires de la base de données AdventureWorks en exécutant des instructions SQL à partir des fichiers spécifiés dans la boucle Foreach.

Tâches non groupées

Le package contient également 25 tâches qui ne font partie d'aucun groupe mais effectuent des opérations qui déplacent des données entre les tâches faisant partie de groupes.

Élément Fonction

Tâche d'insertion en bloc

Cette tâche d'insertion en bloc, Bulk Insert FactFinance, charge les données d'un fichier .csv dans une table de faits de la base de données AdvWorksDWX.

Tâche d'insertion en bloc

Cette tâche d'insertion en bloc, Bulk Insert DimAccount, charge les données d'un fichier .csv dans une table de dimension de la base de données AdvWorksDWX.

Tâche d'insertion en bloc

Cette tâche d'insertion en bloc, Bulk Insert AdventureWorksDWBuildVersion, met à jour les informations de version de l'entrepôt de données dans la base de données AdvWorksDWX.

Tâche de flux de données

Cette tâche de flux de données, Data Flow Task - DimPromotion, contient une source OLE DB et une destination SQL Server. Le flux de données exécute une requête sur AdventureWorks pour identifier les promotions et écrit les résultats dans une table de dimension de la base de données AdvWorkDWX.

Tâche d'insertion en bloc

Cette tâche d'insertion en bloc, Bulk Insert DimOrganization, charge les données d'un fichier .csv dans une table de dimension de la base de données AdvWorksDWX.

Tâche de flux de données

Cette tâche de flux de données, Data Flow Task - DimSalesReason, contient une source OLE DB et une destination SQL Server. Le flux de données exécute une requête sur AdventureWorks pour rechercher les motifs de vente et écrit les résultats dans une table de dimension de la base de données AdvWorkDWX.

Tâche de flux de données

Cette tâche de flux de données, Data Flow Task - DimReseller, contient une source OLE DB, une transformation de conversion de données et une destination SQL Server. Le flux de données exécute une requête complexe, comportant des instructions conditionnelles et des recherches, sur la base de données AdventureWorks et écrit les résultats dans une table de dimension de la base de données AdvWorksDWX.

Tâche de flux de données

Cette tâche de flux de données, Data Flow Task - DimEmployee, contient une source OLE DB et une destination SQL Server. Le flux de données effectue des recherches dans une table de ressources humaines, attribue des identificateurs de représentant et écrit les résultats dans une table de dimension de la base de données AdvWorksDWX.

Tâche de flux de données

Cette tâche de flux de données, Data Flow Task - DimCurrency, contient une source OLE DB et une destination SQL Server. Le flux de données extrait les données d'une table de devises, change les noms des colonnes et écrit les données dans une table de dimension de la base de données AdvWorksDWX.

Tâche d'insertion en bloc

Cette tâche d'insertion en bloc, Bulk Insert DimScenario, charge les données d'un fichier .csv dans une table de dimension de la base de données AdvWorksDWX.

Tâche d'insertion en bloc

Cette tâche d'insertion en bloc, Bulk Insert DimTime, charge les données d'un fichier .csv dans une table de dimension de la base de données AdvWorksDWX.

Tâche de flux de données

Cette tâche de flux de données, Data Flow Task - FactSalesQuota, contient une source OLE DB et une destination SQL Server. Le flux de données extrait les quotas des représentants et met à jour une table de faits dans la base de données AdvWorksDXW.

Tâche de flux de données

Cette tâche de flux de données, Data Flow Task - FactCurrencyRate, contient une source OLE DB et une destination SQL Server. Le flux de données extrait et convertit les informations monétaires à l'aide d'instructions SQL, puis met à jour une table de faits dans la base de données AdvWorksDXW.

Tâche de flux de données

Cette tâche de flux de données, Data Flow Task - DimProduct, contient une source OLE DB et une destination SQL Server. Le flux de données effectue un traitement complexe des données dans des tables temporaires à l'aide d'instructions SQL, puis met à jour une table de dimension dans la base de données ADvWorksDWX.

Tâche de flux de données

Cette tâche de flux de données, Data Flow Task - DimProductCategory, contient une source OLE DB et une destination SQL Server. Le flux de données fait correspondre des catégories de produit étrangères à des noms de catégorie anglais et met à jour une table de dimension dans la base de données ADvWorksDWX.

Tâche de flux de données

Cette tâche de flux de données, Data Flow Task - DimProductsSubcategory, contient une source OLE DB et une destination SQL Server. Le flux de données extrait les traductions des sous-catégories de produits d'une table de référence, puis met à jour une table de dimension dans la base de données ADvWorksDWX.

Tâche de flux de données

Cette tâche de flux de données, Data Flow Task - DimGeography, contient une source OLE DB et une destination SQL Server. Le flux de données recherche des adresses dans une table de référence, puis écrit les résultats dans une table de dimension de la base de données AdvWorksDWX.

Tâche de flux de données

Cette tâche de flux de données, Data Flow Task - DimCustomer, contient une source OLE DB et une destination SQL Server. Le flux de données extrait des données de la table DimGeography et de deux tables temporaires pour mettre à jour une table de dimension dans la base de données AdvWorksDWX.

Tâche de flux de données

Cette tâche de flux de données, Data Flow Task - FactInternetSalesReason, contient une source OLE DB et une destination SQL Server. Le flux de données extrait des informations de la base de données AdventureWorks et met à jour une table de faits dans la base de données AdvWorksDXW.

Tâche de flux de données

Cette tâche de flux de données, Data Flow Task - DimSalesTerritory 1, contient une source OLE DB et une destination SQL Server. Le flux de données recherche les codes régionaux de territoires et écrit les résultats dans une table de dimension de la base de données AdvWorksDWX.

Tâche de flux de données

Cette tâche de flux de données, Data Flow Task - DimSalesTerritory 2, contient une source OLE DB et une destination SQL Server. Le flux de données ajoute des mappages de pays ou de région aux données traitées dans le flux de données précédent.

Tâche de flux de données

Cette tâche de flux de données, Data Flow Task - DimDepartmentGroup, contient une source OLE DB et une destination SQL Server. Le flux de données change tous les noms de groupe en Corporate et écrit les valeurs dans une table de dimension de la base de données AdvWorksDWX.

Tâche de flux de données

Cette tâche de flux de données, Data Flow Task - DimDepartmentGroup 1, contient une source OLE DB et une destination SQL Server. Le flux de données recherche les noms de groupe dans une table de ressources humaines et met à jour les valeurs dans la table de dimension de la base de données AdvWorksDWX.

Tâche de flux de données

Cette tâche de flux de données, Data Flow Task - FactInternetSales, contient une source OLE DB et une destination SQL Server. Le flux de données reçoit des entrées provenant d'autres tâches, notamment la fonction définie par l'utilisateur qui vient d'être créée, et met à jour une table de faits dans la base de données AdvWorksDWX.

Tâche de flux de données

Cette tâche de flux de données, Data Flow Task - FactResellerSales, contient une source OLE DB et une destination SQL Server. Le flux de données reçoit des entrées provenant d'autres tâches, notamment la fonction définie par l'utilisateur qui vient d'être créée, et met à jour une table de faits dans la base de données AdvWorksDWX.

Résultats de l'exemple

Une fois exécuté à l'aide de l'utilitaires dtexec, le package affiche des sorties présentant l'aspect suivant.

Exemple de sortie :

Utilitaire d'exécution de package Microsoft (R) SQL Server

Version 9.00.xxxx 32 bits

Copyright (C) Microsoft Corp 1984-2005. Tous droits réservés.

Début : 13:03:24

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

Source : Tâche d'exécution de requêtes SQL

Exécution de la requête "IF EXISTS (SELECT * FROM [sys].[tables] WHERE [nam".: 100% effectué(s)

Fin de la progression

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

Source : Tâche d'exécution de requêtes SQL

Exécution de la requête "IF EXISTS (SELECT * FROM [sys].[tables] WHERE [nam".: 100% effectué(s)

Fin de la progression

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

Source : Ajouter des index

Exécution de la requête "CREATE UNIQUE INDEX [AK_DimAccount_AccountCodeAlte".: 100% effectué(s)

Fin de la progression

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

Source : Ajouter des contraintes de clé étrangère

Exécution de la requête "ALTER TABLE [dbo].[DimAccount] ADD

CONSTRAINT [F".: 100% effectué(s)

Fin de la progression

DTExec : l'exécution du package a retourné DTSER_SUCCESS (0).

Début : 13:03:24

Terminé : 13:05:46

Temps écoulé : 141,969 secondes