AWDataWarehouseRefresh (ejemplo de paquete)

El paquete de ejemplo AWDataWarehouseRefresh muestra cómo crear y llenar tablas de usuario en la nueva base de datos AdvWorksDWX, utilizando datos de la base de datos AdventureWorks. Se ejecutan varias secuencias de comandos de Transact-SQL para crear las tablas, después de lo cual se ejecutan varias tareas de ejecución de SQL para llenarlas.

ms160706.note(es-es,SQL.90).gifImportante:
Los ejemplos se proporcionan exclusivamente con fines formativos. No se han diseñado para utilizarse en un entorno de producción y no se han probado en ningún entorno de este tipo. Microsoft no ofrece soporte técnico para estos ejemplos.

Requisitos

La ejecución de este paquete de ejemplo requiere lo siguiente:

  • El paquete de ejemplo y los archivos de datos que usa deben instalarse en la unidad local de disco duro.
  • Debe haber instalado y tener permisos administrativos para la base de datos OLTP AdventureWorks.
  • Si tiene la intención de ejecutar el paquete de ejemplo sólo desde la línea de comandos, debe instalar SQL Server 2005 Integration Services (SSIS).
  • Si tiene la intención de abrir el paquete en el Diseñador SSIS y ejecutar el paquete de ejemplo, debe instalar Business Intelligence Development Studio.

Se necesitan los siguientes archivos para ejecutar este paquete de ejemplo.

Archivo Descripción

AWDWRefresh.dtsx

Paquete de ejemplo.

Para obtener más información sobre cómo instalar los ejemplos, vea el tema relativo a la instalación de paquetes de ejemplo de Integration Services en los Libros en pantalla de SQL Server 2005. Para obtener la última versión de los ejemplos, incluidos aquéllos comercializados tras la versión comercial original de SQL Server 2005, vea el artículo acerca de ejemplos y bases de datos de ejemplo de SQL Server 2005 publicado en abril de 2006.

Ubicación del paquete de ejemplo

Si los ejemplos se instalaron en la ubicación predeterminada, el paquete de ejemplo AWDataWarehouseRefresh y los archivos de datos se encuentran en la siguiente carpeta:

C:\Archivos de programa\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\AWDataWarehouseRefresh\

[!NOTA] Si cambió la ubicación de instalación del proyecto, debe modificar las variables BasePath y DataFilePath del paquete.

Ejecutar el ejemplo

El paquete se puede ejecutar desde la línea de comandos mediante la utilidad dtexec, o bien se puede ejecutar en Business Intelligence Development Studio.

Para ejecutar el paquete mediante dtexec

  1. Abra una ventana de símbolo del sistema.

  2. Use el comando para Cambiar el directorio, cd, para cambiar al directorio C:\Archivos de programa\Microsoft SQL Server\90\DTS\Binn, donde se encuentra dtexec.

  3. Escriba el siguiente comando:

    dtexec /f "C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\AWDataWarehouseRefresh\AWDataWarehouseRefresh\AWDWRefresh.dtsx"
    
  4. Presione ENTRAR.

Para obtener más información acerca de la ejecución del paquete mediante la utilidad dtexec, vea el tema que trata sobre la utilidad dtexec en los Libros en pantalla de SQL Server 2005.

Para ejecutar el paquete en Business Intelligence Development Studio

  1. Abra Business Intelligence Development Studio.

  2. En el menú Archivo, seleccione Abrir y haga clic en Proyecto o solución.

  3. Establezca la opción Archivos de tipo: en Archivos de proyecto de Integration Services (*.dtproj), busque la carpeta AWDataWarehouseRefresh y haga doble clic en el archivo denominado AWDataWarehouseRefresh.dtproj.

  4. En el Explorador de soluciones, haga clic con el botón secundario en AWDWRefresh.dtsx en la carpeta SSIS Packages y, a continuación, haga clic en Ejecutar paquete.

Componentes del ejemplo

En la tabla siguiente se enumeran las tareas, los contenedores, los orígenes y destinos de datos y las transformaciones que se utilizan en el ejemplo.

Puede explorar los objetos del paquete seleccionando cualquier objeto en la ficha Flujo de control y presionando Mayús+TAB para avanzar por los objetos uno por uno. También puede ver una imagen grande del paquete si hace clic en la flecha localizadora de cuatro direcciones situada en la esquina inferior derecha de la superficie de diseño de Flujo de control y coloca la ventana de vista sobre el paquete.

Puesto que este paquete representa un ejemplo de una base de datos de producción, hay varios objetos y contenedores, recopilados en grupos lógicos. Puede contraer los grupos para facilitar la vista de todo el paquete, o expandir un grupo para ver mejor los elementos de ese grupo en de particular. Las tareas y los contenedores del paquete se enumeran aquí por grupo.

Grupo Database and Tables

El grupo Database and Tables contiene un contenedor de secuencias, un contenedor de bucle Foreach y una tarea de ejecución de SQL. Estos contenedores, a su vez, incluyen las tareas que aparecen en esta tabla.

Elemento Finalidad

Contenedor de secuencias

El contenedor de secuencias Prepare New Database contiene tres tareas Ejecutar SQL que crean la nueva base de datos y configuran las opciones de la misma. La secuencia va seguida por un contenedor de bucle Foreach y otra tarea Ejecutar SQL.

Tarea Ejecutar SQL

La tarea de ejecución de SQL Drop database elimina las instancias existentes de AdvWorksDWX.

Tarea Ejecutar SQL

La tarea de ejecución de SQL Create database crea una nueva base de datos, AdvWorksDWX.

Tarea Ejecutar SQL

La tarea de ejecución de SQL Set database options ejecuta una instrucción ALTER DATABASE.

Contenedor de bucles Foreach

El contenedor de bucles Foreach, Create tables, contiene una tarea Ejecutar SQL que ejecuta instrucciones SQL desde archivos que coinciden con el filtro de archivos CreateTable-*.sql.

Tarea Ejecutar SQL

Crea tablas en la base de datos AdvWorksDWX ejecutando instrucciones SQL desde archivos especificados en el bucle Foreach.

Tarea Ejecutar SQL

La tarea Ejecutar SQL, Create udfMinimumDate function, crea una función definida por el usuario mediante la entrada directa de una instrucción SQL.

Grupo Temporary Tables

El grupo, Temporary Tables, contiene dos bucles Foreach, cada uno de los cuáles contiene una tarea Ejecutar SQL que pasa por todas las instrucciones SQL en los archivos. La ubicación de la carpeta que contiene los archivos está definida por un administrador de conexión de archivos.

Elemento Finalidad

Contenedor de bucles Foreach

El contenedor de bucles Foreach, Drop temp tables, contiene una tarea Ejecutar SQL que ejecuta instrucciones SQL desde archivos que coinciden con el filtro de archivos DropTempTable-*.sql.

Tarea Ejecutar SQL

Quita tablas temporales de la base de datos AdventureWorks ejecutando instrucciones SQL desde archivos especificados en el bucle Foreach.

Contenedor de bucles Foreach

El contenedor de bucles Foreach, Create temp tables, contiene una tarea Ejecutar SQL que ejecuta instrucciones SQL desde archivos que coinciden con el filtro de archivos CreateTempTable-*.sql.

Tarea Ejecutar SQL

Crea tablas temporales de la base de datos AdventureWorks ejecutando instrucciones SQL desde archivos especificados en el bucle Foreach.

Grupo Load Temporary Tables

El grupo Load temporary tables contiene siete tareas de inserción masiva que cargan datos de archivos .csv en tablas temporales de la base de datos AdventureWorks.

Elemento Finalidad

Tarea Inserción masiva

La tarea de inserción masiva Bulk Insert tempProductSubcategory-ForeignNames inserta datos en una tabla temporal.

Tarea Inserción masiva

La tarea de inserción masiva Bulk Insert tempProduct-ForeignNames inserta datos en una tabla temporal.

Tarea Inserción masiva

La tarea de inserción masiva Bulk Insert tempStore-MinPayment inserta datos en una tabla temporal.

Tarea Inserción masiva

La tarea de inserción masiva Bulk Insert tempProductCategory-ForeignNames inserta datos en una tabla temporal.

Tarea Inserción masiva

La tarea de inserción masiva Bulk Insert tempCustomer-YearlyIncome inserta datos en una tabla temporal.

Tarea Inserción masiva

La tarea de inserción masiva Bulk Insert tempIndividual-ForeignDat inserta datos en una tabla temporal.

Tarea Inserción masiva

La tarea de inserción masiva Bulk Insert tempSpecialOffer-ForeignData inserta datos en una tabla temporal.

Grupo Create Keys and Indexes

El grupo Create Keys and Indexes contiene cuatro tareas de ejecución de SQL conectadas por restricciones de precedencia, y también contiene un contenedor de bucles Foreach.

Elemento Finalidad

Tarea Ejecutar SQL

La tarea de ejecución de SQL Add Primary Keys crea claves primarias en las nuevas tablas de AdvWorksDWX.

Tarea Ejecutar SQL

La tarea de ejecución de SQL Add Indexes genera índices de las nuevas tablas de AdvWorksDWX.

Tarea Ejecutar SQL

La tarea de ejecución de SQL Add Foreign Key Constraints agrega restricciones a las nuevas tablas de AdvWorksDWX.

Tarea Ejecutar SQL

La tarea de ejecución de SQL Drop udfMinimumDate function elimina la función definida por el usuario de AdvWorksDWX.

Contenedor de bucles Foreach

El contenedor de bucles Foreach, Drop temp tables 1, contiene una tarea Ejecutar SQL que ejecuta instrucciones SQL desde archivos que coinciden con el filtro de archivos DropTempTable-*.sql.

Tarea Ejecutar SQL

Elimina tablas temporales de la base de datos AdventureWorks ejecutando instrucciones SQL desde archivos especificados en el bucle Foreach.

Tareas desagrupadas

El paquete también contiene 25 tareas que no pertenecen a ningún grupo, sino que realizan operaciones que mueven datos entre tareas de los otros grupos.

Elemento Finalidad

Tarea Inserción masiva

La tarea de inserción masiva Bulk Insert FactFinance carga datos de un archivo .csv en una tabla de hechos de AdvWorksDWX.

Tarea Inserción masiva

La tarea de inserción masiva Bulk Insert DimAccount carga datos de un archivo .csv en una tabla de dimensiones de AdvWorksDWX.

Tarea Inserción masiva

La tarea de inserción masiva Bulk Insert AdventureWorksDWBuildVersion actualiza la información de versión del almacén de datos de AdvWorksDWX.

Tarea Flujo de datos

La tarea de flujo de datos Data Flow Task - DimPromotion contiene un origen de OLE DB y un destino de SQL Server. El flujo de datos ejecuta una consulta en AdventureWorks para identificar promociones y escribe los resultados en una tabla de dimensiones de AdvWorkDWX.

Tarea Inserción masiva

La tarea de inserción masiva Bulk Insert DimOrganization carga datos de un archivo .csv en una tabla de dimensiones de AdvWorksDWX.

Tarea Flujo de datos

La tarea de flujo de datos Data Flow Task - DimSalesReason contiene un origen de OLE DB y un destino de SQL Server. El flujo de datos ejecuta una consulta en AdventureWorks para identificar motivos de venta y escribe los resultados en una tabla de dimensiones de AdvWorkDWX.

Tarea Flujo de datos

La tarea de flujo de datos Data Flow Task - DimReseller contiene un origen de OLE DB, una transformación de conversión de datos y un destino de SQL Server. El flujo de datos realiza una consulta compleja, que incluye instrucciones condicionales y búsquedas, en AdventureWorks y escribe los resultados en una tabla de dimensiones de AdvWorksDWX.

Tarea Flujo de datos

La tarea de flujo de datos Data Flow Task - DimEmployee contiene un origen de OLE DB y un destino de SQL Server. El flujo de datos realiza búsquedas en una tabla Human Resources, asigna identificadores de vendedores y escribe los resultados en una tabla de dimensiones de AdvWorksDWX.

Tarea Flujo de datos

La tarea de flujo de datos Data Flow Task - DimCurrency contiene un origen de OLE DB y un destino de SQL Server. El flujo de datos extrae datos de una tabla Currency, cambia los nombres de las columnas y escribe los datos en una tabla de dimensiones de AdvWorksDWX.

Tarea Inserción masiva

La tarea de inserción masiva Bulk Insert DimScenario carga datos de un archivo .csv en una tabla de dimensiones de AdvWorksDWX.

Tarea Inserción masiva

La tarea de inserción masiva Bulk Insert - DimTime carga datos de un archivo .csv en una tabla de dimensiones de AdvWorksDWX.

Tarea Flujo de datos

La tarea de flujo de datos Data Flow Task - FactSalesQuota contiene un origen de OLE DB y un destino de SQL Server. El flujo de datos extrae cuotas de vendedores y actualiza una tabla de hechos de AdvWorksDXW.

Tarea Flujo de datos

La tarea de flujo de datos Data Flow Task - FactCurrencyRate contiene un origen de OLE DB y un destino de SQL Server. El flujo de datos extrae y convierte información de moneda mediante instrucciones SQL y actualiza una tabla de hechos de AdvWorksDXW.

Tarea Flujo de datos

La tarea de flujo de datos Data Flow Task - DimProduct contiene un origen de OLE DB y un destino de SQL Server. El flujo de datos realiza el procesamiento complejo de datos en tablas temporales usando instrucciones SQL y luego actualiza una tabla de dimensiones de ADvWorksDWX.

Tarea Flujo de datos

La tarea de flujo de datos Data Flow Task - DimProductCategory contiene un origen de OLE DB y un destino de SQL Server. El flujo de datos asigna categorías de productos extranjeros a nombres de categorías en inglés y actualiza una tabla de dimensiones de ADvWorksDWX.

Tarea Flujo de datos

La tarea de flujo de datos Data Flow Task - DimProductsSubcategory contiene un origen de OLE DB y un destino de SQL Server. El flujo de datos extrae traducciones de subcategorías de productos de una tabla de referencia y luego actualiza una tabla de dimensiones de ADvWorksDWX.

Tarea Flujo de datos

La tarea de flujo de datos Data Flow Task - DimGeography contiene un origen de OLE DB y un destino de SQL Server. El flujo de datos busca direcciones en una tabla de referencia y luego escribe los resultados en una tabla de dimensiones de AdvWorksDWX.

Tarea Flujo de datos

La tarea de flujo de datos Data Flow Task - DimCustomer contiene un origen de OLE DB y un destino de SQL Server. El flujo de datos toma varias entradas (los datos de DimGeography y dos tablas temporales) y extrae datos para actualizar una tabla de dimensiones de AdvWorksDWX.

Tarea Flujo de datos

La tarea de flujo de datos Data Flow Task - FactInternetSalesReason contiene un origen de OLE DB y un destino de SQL Server. El flujo de datos extrae datos de AdventureWorks y actualiza una tabla de hechos de AdvWorksDWX.

Tarea Flujo de datos

La tarea de flujo de datos Data Flow Task - DimSalesTerritory 1 contiene un origen de OLE DB y un destino de SQL Server. El flujo de datos busca códigos regionales para territorios y escribe los resultados en una tabla de dimensiones de AdvWorksDWX.

Tarea Flujo de datos

La tarea de flujo de datos Data Flow Task - DimSalesTerritory 2 contiene un origen de OLE DB y un destino de SQL Server. El flujo de datos agrega asignaciones de país o región a los datos procesados en el flujo de datos anterior.

Tarea Flujo de datos

La tarea de flujo de datos Data Flow Task - DimDepartmentGroup contiene un origen de OLE DB y un destino de SQL Server. El flujo de datos cambia todos los nombres de grupos por Corporate y escribe los valores en una tabla de dimensiones de AdvWorksDWX.

Tarea Flujo de datos

La tarea de flujo de datos Data Flow Task - DimDepartmentGroup 1 contiene un origen de OLE DB y un destino de SQL Server. El flujo de datos busca nombres de grupos en una tabla Human Resources y actualiza los valores en la tabla de dimensiones de AdvWorksDWX.

Tarea Flujo de datos

La tarea de flujo de datos Data Flow Task - FactInternetSales contiene un origen de OLE DB y un destino de SQL Server. El flujo de datos toma varias entradas de otras tareas, incluida la función definida por el usuario creada recientemente, y actualiza una tabla de hechos de AdvWorksDWX.

Tarea Flujo de datos

La tarea de flujo de datos Data Flow Task - FactResellerSales contiene un origen de OLE DB y un destino de SQL Server. El flujo de datos toma varias entradas de otras tareas, incluida la función definida por el usuario creada recientemente, y actualiza una tabla de hechos de AdvWorksDWX.

Resultados del ejemplo

Después de ejecutar el paquete con la utilidad dtexec, debe ver una salida similar a la siguiente.

Salida del ejemplo:

Microsoft (R) SQL Server Execute Package Utility

Versión 9.00.xxxx para 32 bits

Copyright (C) Microsoft Corp 1984-2005. Reservados todos los derechos.

Iniciado: 1:03:24 p. m.

Progreso:

Origen: tarea Ejecutar SQL

Ejecutando consulta "IF EXISTS (SELECT * FROM [sys].[tables] WHERE [nam".: 100% finalizados

Fin de progreso

Progreso:

Origen: tarea Ejecutar SQL

Ejecutando consulta "IF EXISTS (SELECT * FROM [sys].[tables] WHERE [nam".: 100% finalizados

Fin de progreso

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

Origen: Add Indexes

Ejecutando consulta "CREATE UNIQUE INDEX [AK_DimAccount_AccountCodeAlte".: 100% finalizados

Fin de progreso

Progreso:

Origen: Add Foreign Key Constraints

Ejecutando consulta "ALTER TABLE [dbo].[DimAccount] ADD

CONSTRAINT [F".: 100% finalizados

Fin de progreso

DTExec: la ejecución del paquete devolvió DTSER_SUCCESS (0).

Iniciado: 1:03:24 p. m.

Finalizado: 1:05:46 p. m.

Transcurrido: 141,969 segundos