SQL Server Integration Services Microsoft Integration Services es una plataforma para la creación de soluciones empresariales de transformaciones de datos e integración de datos. Integration Services sirve para resolver complejos problemas empresariales mediante la copia o descarga de archivos, el envío de mensajes de correo electrónico como respuesta a eventos, la actualización de almacenamientos de datos, la limpieza y minería de datos, y la administración de objetos y datos de SQL Server. Los paquetes pueden funcionar en solitario o junto con otros paquetes para hacer frente a las complejas necesidades de la empresa.Integration Services puede extraer y transformar datos de diversos orígenes como archivos de datos XML, archivos planos y orígenes de datos relacionales y, después, cargar los datos en uno o varios destinos. Integration Services contiene un variado conjunto de tareas y transformaciones integradas, herramientas para la creación de paquetes y el servicio Integration Services para ejecutar y administrar los paquetes. Las herramientas gráficas deIntegration Services se pueden usar para crear soluciones sin escribir una sola línea de código. También se puede programar el amplio modelo de objetos de Integration Services para crear paquetes mediante programación y codificar tareas personalizadas y otros objetos de paquete. Esta sección contiene los tutoriales de Integration Services. Tutorial de SSIS: Crear un paquete ETL sencillo
Implementar paquetes con SSIS
Tutorial de SSIS: Crear un paquete ETL sencillo Para el contenido relacionado con las versiones anteriores de SQL Server, vea SSIS Tutorial: crear un paquete ETL sencillo. Microsoft SQL Server Integration Services (SSIS) es una plataforma que permite generar soluciones de integración de datos de alto rendimiento, entre las que se incluyen paquetes de extracción, transformación y carga de datos (ETL) para el almacenamiento de datos. SSIS incluye herramientas gráficas y asistentes para generar y depurar paquetes; tareas para realizar funciones de flujo de datos tales como operaciones de FTP; ejecución de instrucciones SQL y envío de mensajes de correo electrónico; orígenes y destinos de datos para extraer y cargar datos; transformaciones para limpiar, agregar, combinar y copiar datos; un servicio de administración, el servicio Integration Services para administrar la ejecución y almacenamiento de paquetes; e interfaces de programación de aplicaciones (API) para programar el modelo de objetos de Integration Services . En este tutorial, aprenderá a utilizar el Diseñador de SSIS para crear un paquete de Microsoft SQL Server Integration Services sencillo. El paquete que cree toma los datos de un archivo plano, formatea de nuevo lo datos y luego inserta dichos datos en una tabla de hechos. En las lecciones siguientes, el paquete se expande para mostrar la creación de bucles, configuraciones de paquete, registro y flujo de errores. Al instalar los datos de ejemplo utilizados por el tutorial, también se instalan las versiones completadas de los paquetes que creará en cada lección del tutorial. Si utiliza los paquetes completados, puede saltarse lecciones y empezar el tutorial en una lección posterior si lo desea. Si es la primera vez que trabaja con paquetes o el nuevo entorno de desarrollo, se recomienda empezar por la lección 1.
Aprendizaje La mejor forma de familiarizarse con las herramientas nuevas, los controles y las características disponibles en MicrosoftSQL Server Integration Services es mediante su uso. En este tutorial se indican los pasos necesarios en el Diseñador deSSIS para crear un paquete ETL sencillo que incluye bucles, configuraciones, lógica de flujo de errores y registro.
Requisitos Este tutorial está concebido para los usuarios familiarizados con las operaciones básicas de una base de datos, pero que no conocen con detalle las nuevas características disponibles en SQL Server Integration Services.
Para utilizar este tutorial, el sistema debe tener instalados los siguientes componentes: SQL Servercon el AdventureWorksDW2012 base de datos. Con el objeto de mejorar la seguridad, las bases de datos de ejemplo no se instalan de forma predeterminada. Para descargar la base de datosAdventureWorksDW2012 , vea Adventure Works para SQL Server 2012.
Importante Cuando adjunte la base de datos (archivo*.mdf), SQL Server Management Studio buscará un archivo .ldf de forma predeterminada. Debe quitar manualmente el archivo .ldf antes de hacer clic en Aceptar en el cuadro de diálogo Adjuntar bases de datos . Para obtener más información acerca de cómo adjuntar bases de datos, vea Attach a Database. Datos de ejemplo. Los datos de ejemplo se incluyen con los paquetes de lecciones de SSIS . Para descargar los datos de ejemplo y los paquetes de lecciones, haga lo siguiente. 1. Navegue a los ejemplos del producto Integration Services 2. Haga clic en la pestaña DOWNLOADS . 3. Haga clic en el archivo SQL2012.Integration_Services.Create_Simple_ETL_Tutorial.Sample.zip.
Lección 1: Crear un proyecto y un paquete básico con SSIS En esta lección, creará un paquete ETL simple que extrae datos de un único origen de archivo plano, transforma los datos usando dos componentes de la transformación de búsqueda y escribe dichos datos en la tabla de hechos FactCurrency de AdventureWorksDW2012. Como parte de esta lección, aprenderá a crear paquetes nuevos, agregar y configurar orígenes de datos y conexiones de destino, y trabajar con nuevos componentes de flujo de control y flujo de datos. Importante Para este tutorial, se necesita la base de datos de ejemplo AdventureWorksDW2012 . Para obtener más información sobre la instalación e implementación de AdventureWorksDW2012, consulte Ejemplos de producto de Reporting Services en CodePlex.
Descripción de los requisitos de paquete Este tutorial necesita Microsoft SQL Server Data Tools. Para obtener más información acerca de cómo instalar SQL Server Data Tools, vea Descarga de SQL Server Data Tools. Antes de crear un paquete, debe saber qué formato se utiliza en los datos de origen y de destino. Una vez que conozca ambos formatos de datos, estará listo para definir las transformaciones necesarias para asignar los datos de origen al destino. Información sobre el origen En este tutorial, los datos de origen son un conjunto de datos de moneda históricos que se encuentra en el archivo plano SampleCurrencyData.txt. Los datos de origen tienen las cuatro columnas siguientes: tipo de cambio medio de la moneda, una clave de moneda, una clave de fecha y el tipo de cambio de final del día. A continuación se muestra un ejemplo de datos de origen del archivo SampleCurrencyData.txt: 1.00070049USD9/3/05 0:001.001201442 1.00020004USD9/4/05 0:001 1.00020004USD9/5/05 0:001.001201442 1.00020004USD9/6/05 0:001 1.00020004USD9/7/05 0:001.00070049
1.00070049USD9/8/05 0:000.99980004 1.00070049USD9/9/05 0:001.001502253 1.00070049USD9/10/05 0:000.99990001 1.00020004USD9/11/05 0:001.001101211 1.00020004USD9/12/05 0:000.99970009
Cuando se trabaja con datos de origen de un archivo plano, es importante entender el modo en que el administrador de conexiones de archivos planos interpreta los datos del archivo plano. Si el origen de archivo plano es Unicode, el administrador de conexiones de archivos planos define todas las columnas como [DT_WSTR], con un ancho de columna predeterminado de 50. Si el origen de archivo plano tiene la codificación ANSI, las columnas se definen como [DT_STR], con un ancho de columna de 50. Es probable que tenga que cambiar estos valores predeterminados para que los tipos de columna de cadena sean más adecuados para los datos. Para ello, deberá saber cuál es el tipo de datos del destino en el que se escribirán los datos y luego elegir el tipo correcto dentro del administrador de conexiones de archivos planos. Información sobre el destino El destino final de los datos de origen es la tabla de hechos FactCurrency de AdventureWorksDW. La tabla de hechosFactCurrency tiene cuatro columnas y tiene relaciones con dos tablas de dimensiones, como se muestra en la tabla siguiente.
Nombre de la columna
Tipo de datos
Tabla de búsqueda
Columna de búsqueda
AverageRate
float
Ninguno
Ninguno
CurrencyKey
int (FK)
DimCurrency
CurrencyKey (PK)
DateKey
int (FK)
DimDate
DateKey (PK)
EndOfDayRate
float
Ninguno
Ninguno
Asignar datos de origen para que sean compatibles con el destino El análisis de los formatos de datos de origen y de destino indica que serán necesarias búsquedas para los valores CurrencyKey y DateKey. Las transformaciones que realizarán estas búsquedas obtendrán los valores
de CurrencyKey yDateKey usando las claves alternativas de las tablas de dimensiones DimCurrency y DimDate . Columna de archivo plano
Nombre de tabla
Nombre de la columna
Tipo de datos
0
FactCurrency
AverageRate
float
1
DimCurrency
CurrencyAlternateKey
nchar (3)
2
DimDate
FullDateAlternateKey
date
3
FactCurrency
EndOfDayRate
float
Lección 1.1: crear un nuevo proyecto de Integration Services El primer paso al crear un paquete en Integration Services es crear un proyecto Integration Services . Este proyecto incluye las plantillas para los objetos —orígenes de datos, vistas de orígenes de datos y paquetes— que se utilizan en una solución de transformación de datos. Los paquetes que creará en este tutorial de Integration Services interpretan los valores de los datos dependientes de la configuración regional. Si no tiene configurado el equipo para usar la opción de configuración regional Inglés (Estados Unidos), debe establecer propiedades adicionales en el paquete. Los paquetes utilizados en las lecciones 2 a 5 se copian del paquete creado en la lección 1, y no necesita actualizar las propiedades dependientes de la configuración regional en los paquetes copiados. Nota Este tutorial necesita Microsoft SQL Server Data Tools. Para obtener más información sobre cómo instalar SQL Server Data Tools, consulte Descargar SQL Server Data Tools. Para crear un proyecto de Integration Services 1. En el menú Inicio , elija Todos los programas, Microsoft SQL Servery, a continuación, haga clic en SQL Server Data Tools. 2. En el menú Archivo , seleccione Nuevoy haga clic en Proyecto para crear un proyecto de Integration Services . 3. En el cuadro de diálogo Nuevo proyecto , expanda el nodo Business Intelligence bajo Plantillas instaladasy seleccione Proyecto de Integration Services en el panel Plantillas . 4. En el cuadro Nombre , cambie el nombre predeterminado por SSIS Tutorial. Opcionalmente, desactive la casilla Crear directorio para la solución . 5. Acepte la ubicación predeterminada o haga clic en Examinar para desplazarse a la carpeta que desee utilizar. En el cuadro de diálogo Ubicación del proyecto , haga clic en la carpeta y, a continuación, haga clic en Seleccionar carpeta. 6. Haga clic en Aceptar. De forma predeterminada, se creará un paquete vacío, denominado Package.dtsx, que se agregará al proyecto bajo Paquetes SSIS. 7. En la barra de herramientas del Explorador de soluciones , haga clic con el botón derecho en Package.dtsx, haga clic en Cambiar nombre y cambie el nombre del paquete predeterminado por Lesson 1.dtsx.
Lección 1.2: agregar y configurar un administrador de conexión de archivos planos En esta tarea, agregará un administrador de conexiones de archivos planos al paquete que acaba de crear. Un administrador de conexiones de archivos planos permite a un paquete extraer datos de un archivo plano. Mediante el administrador de conexiones de archivos planos puede especificar el nombre y la ubicación del archivo, la configuración regional y la página de códigos, y el formato del archivo, incluyendo los delimitadores de columna, que deben aplicarse cuando el paquete extrae datos del archivo plano. Además, puede especificar de forma manual el tipo de datos para columnas individuales, o usar el cuadro de diálogo Sugerir tipos de columna para asignar de forma automática las columnas de datos extraídos a los tipos de datos de Integration Services . Debe crear un administrador de conexiones de archivos planos para cada formato de archivo que utilice. En este tutorial se extraen datos de varios archivos planos que tienen exactamente el mismo formato de datos, por lo que tendrá que agregar y configurar solamente un administrador de conexiones de archivos planos para el paquete. En este tutorial, configurará las propiedades siguientes en el administrador de conexiones de archivos planos: Nombres de columna: El archivo plano no tiene nombres de columna, por lo que el administrador de conexiones de archivos planos crea nombres de columna predeterminados. Estos nombres predeterminados no son útiles para identificar qué representa cada columna. Para que estos nombres predeterminados sean más útiles, debe cambiar los nombres predeterminados por nombres que coincidan con la tabla de hechos en la que deben cargarse los datos del archivo plano. Asignaciones de datos: Las asignaciones de tipo de datos que especifique para el administrador de conexiones de archivos planos se usarán en todos los componentes de origen de datos de archivo plano que hagan referencia al administrador de conexiones. Puede asignar los tipos de datos de forma manual mediante el administrador de conexiones de archivos planos o usar el cuadro de diálogo Sugerir tipos de columna . En este tutorial, verá las asignaciones sugeridas en el cuadro de diálogo Sugerir tipos de columna y luego realizará de forma manual las asignaciones necesarias en el cuadro de diálogo Editor del administrador de conexiones de archivos planos .
El administrador de conexiones de archivos planos proporciona información de configuración regional acerca del archivo de datos. Si no tiene configurado el equipo para usar la opción de configuración regional Inglés (Estados Unidos), debe establecer propiedades adicionales en el cuadro de diálogo Editor del administrador de conexiones de archivos planos . Para agregar un administrador de conexiones de archivos planos al paquete SSIS 1. Haga clic con el botón derecho en cualquier punto del área Administradores de conexión y luego haga clic en Nueva conexión de archivos planos. 2. En el cuadro de diálogo Editor del administrador de conexiones de archivos planos , en Nombre del administrador de conexiones, escriba Sample Flat File Source Data. 3. Haga clic en Examinar. 4. En el cuadro de diálogo Abrir , busque el archivo SampleCurrencyData.txt en el equipo. Los datos de ejemplo se incluyen con los paquetes de lecciones de SSIS . Para descargar los datos de ejemplo y los paquetes de lecciones, haga lo siguiente. a. Navegue a los ejemplos del producto Integration Services b. Haga clic en la pestaña DOWNLOADS . c. Haga clic en el archivo SQL2012.Integration_Services.Create_Simple_ETL_Tutorial.Sample.zip. 5. Borre los nombres de columna de la primera casilla de fila de datos. Para establecer las propiedades dependientes de la configuración regional 1. En el cuadro de diálogo Editor del administrador de conexiones de archivos planos , haga clic en General. 2. Establezca Configuración regional en Inglés (Estados Unidos) y Página de códigos en 1252. Para cambiar el nombre de las columnas del administrador de conexiones de archivos planos 1. En el cuadro de diálogo Editor del administrador de conexiones de archivos planos , haga clic en Avanzadas. 2. En el panel de propiedades, realice los cambios siguientes: Cambie la propiedad de nombre Columna 0 por AverageRate. Cambie la propiedad de nombre Columna 1 por CurrencyID. Cambie la propiedad de nombre Columna 2 por CurrencyDate. Cambie la propiedad de nombre Columna 3 por EndOfDayRate. Nota De manera predeterminada, las cuatro columnas están inicialmente establecidas en el tipo de datos de cadena [DT_STR] con un OutputColumnWidth de 50.
Para volver a asignar tipos de datos de columna 1. En el cuadro de diálogo Editor del administrador de conexiones de archivos planos , haga clic en Sugerir tipos. Integration Services sugiere de forma automática los tipos de datos más adecuados en función de las 200 primeras filas de datos. También puede cambiar estas opciones de sugerencia para obtener más o menos datos de ejemplo, especificar el tipo de datos predeterminado para datos enteros o booleanos, o agregar espacios como relleno para las columnas de cadena. De momento, no cambie las opciones del cuadro de diálogo Sugerir tipos de columna y haga clic en Aceptarpara que Integration Services sugiera los tipos de datos para las columnas. Esto le devuelve al panel Avanzadasdel cuadro de diálogo Editor del administrador de conexiones de archivos planos , donde puede ver los tipos de datos de columna sugeridos por Integration Services. (Si hace clic en Cancelar, no se realizan sugerencias en los metadatos de columna y se usa el tipo de datos predeterminado de cadena [DT_STR]). En este tutorial, Integration Services sugiere los tipos de datos que se muestran en la segunda columna de la siguiente tabla para los datos del archivo SampleCurrencyData.txt. No obstante, los tipos de datos que se requieren para las columnas en el destino, que se definirán en un paso posterior, se muestran en la última columna de la tabla siguiente. Columna de archivo plano
Tipo sugerido
Columna de destino
AverageRate
float [DT_R4]
FactCurrency.Aver ageRate
float
CurrencyID
string [DT_STR]
DimCurrency,Curr encyAlternateKey
nchar(3)
CurrencyDate
date [DT_DATE]
DimDate.FullDate AlternateKey
date
EndOfDayRate
float [DT_R4]
FactCurrency.End OfDayRate
float
Tipo de destino
El tipo de datos sugerido para la columna CurrencyID no es compatible con el tipo de datos del campo de la tabla de destino. Puesto que el tipo de datos de DimCurrency.CurrencyAlternateKey es nchar (3), CurrencyIDdebe cambiarse de la cadena [DT_STR] a la cadena [DT_WSTR]. Adicionalmente, el campo DimDate.FullDateAlternateKey está definido como tipo de datos de fecha; por consiguiente, CurrencyDate debe cambiarse del tipo fecha [DT_Date] al tipo fecha de base de datos [DT_DBDATE].
2. En la lista, seleccione la columna CurrencyID y, en el panel de propiedades, cambie el tipo de datos de la columna CurrencyID de cadena [DT_STR] a cadena Unicode [DT_WSTR]. 3. En el panel de propiedades, cambie el tipo de datos de la columna CurrencyDate de fecha [DT_DATE] a fecha de base de datos [DT_DBDATE]. 4.
Haga clic en Aceptar.
Lección 1.3: Agregar y configurar un administrador de conexiones OLE DB Una vez que haya agregado un administrador de conexiones de archivos planos al origen de datos, la siguiente tarea consiste en agregar un administrador de conexiones OLE DB para conectarse al destino. Un administrador de conexiones OLE DB permite a un paquete extraer datos de un origen de datos compatible con OLE DB o cargar datos en este origen de datos. Mediante el administrador de conexiones OLE DB, puede especificar el servidor, el método de autenticación y la base de datos predeterminada de la conexión. En esta lección, creará un administrador de conexiones OLE DB que usa la Autenticación de Windows para conectarse a la instancia local de AdventureWorksDB2012. Otros componentes que creará más adelante en este tutorial, como la transformación Búsqueda y el destino de OLE DB, también harán referencia al administrador de conexiones OLE DB que cree. Agregar y configurar un administrador de conexiones de OLE DB para el paquete SSIS 1. Haga clic con el botón derecho en cualquier punto del área Administradores de conexión y luego haga clic en Nueva conexión OLE DB. 2. En el cuadro de diálogo Configurar el administrador de conexiones OLE DB , haga clic en Nuevo. 3. En Nombre del servidor, escriba localhost. Cuando se especifica localhost como el nombre del servidor, el administración de conexión se conecta a la instancia predeterminada de SQL Server en el equipo local. Para usar una instancia remota de SQL Server, sustituya localhost con el nombre del servidor al que desea conectarse. 4. En el grupo Iniciar sesión en el servidor , compruebe que la opción Usar autenticación de Windows está seleccionada. 5. En el grupo Conectar con una base de datos , en el cuadro Seleccione o escriba un nombre de base de datos, escriba o seleccione AdventureWorksDW2012. 6. Haga clic en Probar conexión para comprobar si los parámetros de conexión que ha especificado son válidos. 7. Haga clic en Aceptar. 8. Haga clic en Aceptar. 9. En el panel Conexiones de datos del cuadro de diálogo Configurar el administrador de conexiones OLE DB , compruebe que la opción localhost.AdventureWorksDW2012 está seleccionada. 10.
Haga clic en Aceptar.
Lección 1.4: Agregar una tarea de flujo de datos al paquete Una vez que ha creado los administradores de conexión para los datos de origen y de destino, la siguiente tarea consiste en agregar una tarea de flujo de datos al paquete. La tarea de flujo de datos encapsula el motor de flujo de datos que mueve datos entre orígenes y destinos, y proporciona la funcionalidad para transformar, limpiar y modificar los datos a medida que se mueven. En la tarea de flujo de datos se lleva a cabo la mayor parte del proceso de extracción, transformación y carga (ETL). Nota SQL Server Integration Services separa el flujo de datos del flujo de control. Para agregar una tarea de flujo de datos 1. Haga clic en la pestaña Flujo de control . 2. En el Cuadro de herramientas de SSIS, expanda Favoritosy arrastre una tarea Flujo de datos a la superficie de diseño de la pestaña Flujo de control . Nota Si el cuadro de herramientas de SSIS no está disponible, en el menú principal seleccione SSIS y después el cuadro de herramientas de SSIS para mostrar el cuadro de herramientas de SSIS. 3. En la superficie de diseño Flujo de control , haga clic con el botón derecho en la tarea Flujo de datosque acaba de agregar, haga clic en Cambiar nombrey cambie el nombre por Extract Sample Currency Data. Es aconsejable proporcionar nombres únicos a todos los componentes que se agregan a una superficie de diseño. Para facilitar su uso y mantenimiento, los nombres deben describir la función que lleva a cabo cada componente. Seguir estas directrices de nomenclatura permite que los paquetes de Integration Services sean autodocumentados. Los paquetes también pueden documentarse mediante anotaciones. Para obtener más información sobre cómo usar anotaciones, consulte Usar anotaciones en paquetes. 4. Haga clic con el botón derecho en la tarea Flujo de datos, haga clic en Propiedadesy, en la ventana Propiedades, compruebe que la propiedad LocaleID esté establecida en Inglés (Estados Unidos).
Lección 1.5: Agregar y configurar el origen de archivo plano En esta tarea, agregará un origen de archivo plano al paquete y configurará dicho origen. Un origen de archivo plano es un componente de flujo de datos que utiliza metadatos definidos por un administrador de conexiones de archivo plano para especificar el formato y la estructura de los datos que deben extraerse del archivo plano mediante un proceso de transformación. El origen de archivo plano puede configurarse para extraer datos de un único archivo plano utilizando la definición de formato de archivo proporcionada por el administrador de conexiones de archivo plano. Para este tutorial, configurará el origen de archivo plano para utilizar el administrador de conexiones Sample Flat File Source Data creado con anterioridad. Para agregar un componente de origen de archivo plano 1. Abra el diseñador Flujo de datos haciendo doble clic en la tarea de flujo de datos Extract Sample Currency Data o haciendo clic en la pestaña Flujo de datos. 2. En el cuadro de herramientas de SSIS, expanda Otros orígenesy, después, arrastre un Origen de archivo plano a la superficie de diseño de la pestaña Flujo de datos . 3. En la superficie de diseño Flujo de datos , haga clic con el botón derecho en el Origen de archivo planoque acaba de agregar, haga clic en Cambiar nombrey cambie el nombre por Extract Sample Currency Data. 4. Haga doble clic en el origen del archivo plano para abrir el cuadro de diálogo Editor de origen de archivos planos. 5. En el cuadro Administrador de conexiones de archivos planos , seleccione Sample Flat File Source Data. 6. Haga clic en Columnas y compruebe que los nombres de las columnas son correctos. 7. Haga clic en Aceptar. 8. Haga clic con el botón derecho en el origen del archivo plano y haga clic en Propiedades. 9. En la ventana Propiedades, compruebe que la propiedad LocaleID esté establecida en Inglés (Estados Unidos).
Lección 1.6: Agregar y configurar transformaciones de búsqueda Tras configurar el origen de archivo plano para extraer datos del archivo de origen, la siguiente tarea consiste en definir las transformaciones de búsqueda necesarias para obtener los valores para las claves CurrencyKey y DateKey. Una transformación Búsqueda realiza una búsqueda combinando datos de la columna de entrada especificada en una columna de un conjunto de datos de referencia. El conjunto de datos de referencia puede ser una tabla o una vista existente, una tabla nueva o el resultado de una instrucción SQL. En este tutorial, la transformación Búsqueda utiliza un administrador de conexiones OLE DB para conectar con la base de datos que contiene los datos que constituyen el origen del conjunto de datos de referencia. Nota También puede configurar la transformación de Búsqueda para conectar con una caché que contiene el conjunto de datos de referencia. Para más información, consulte Lookup Transformation. Para este tutorial, agregará y configurará los dos componentes de la transformación Búsqueda en el paquete: Una transformación para realizar una búsqueda de valores de la columna CurrencyKey de la tabla de dimensiones DimCurrency basada en la coincidencia de valores de la columna CurrencyID del archivo plano. Una transformación para realizar una búsqueda de valores de la columna DateKey de la tabla de dimensionesDimDate basada en la coincidencia de valores de la columna CurrencyDate del archivo plano. En ambos casos, la transformación de búsqueda usará el administrador de conexiones OLE DB creado anteriormente. Para agregar y configurar la transformación Lookup Currency Key 1. En el cuadro de herramientas de SSIS, expanda Comunesy arrastre Búsqueda a la superficie de diseño de la pestaña Flujo de datos . Coloque Búsqueda directamente bajo el origen Extract Sample Currency Data . 2. Haga clic en el origen de archivo plano Extract Sample Currency Data y arrastre la flecha verde a la transformación Búsqueda que acaba de agregar para conectar los dos componentes. 3. En la superficie de diseño Flujo de datos , haga clic en Búsqueda en la transformación Búsqueda y cambie el nombre por Lookup Currency Key. 4. Haga doble clic en la transformación Lookup CurrencyKey para mostrar el Editor de transformación Búsqueda. 5. En la página General , realice las selecciones siguientes:
a. Seleccione Caché completa. b. En el área Tipo de conexión , seleccione Administrador de conexiones OLE DB. 6. En la página Conexión , realice las selecciones siguientes: . En el cuadro de diálogo Administrador de conexiones OLE DB , asegúrese de que se muestra localhost.AdventureWorksDW2012 . a. Seleccione Usar los resultados de una consulta SQLy, a continuación, escriba o copie la instrucción SQL siguiente: SQLCopiar select * from (select * from [dbo].[DimCurrency]) as refTable where [refTable].[CurrencyAlternateKey] = 'ARS' OR [refTable].[CurrencyAlternateKey] = 'AUD' OR [refTable].[CurrencyAlternateKey] = 'BRL' OR [refTable].[CurrencyAlternateKey] = 'CAD' OR [refTable].[CurrencyAlternateKey] = 'CNY' OR [refTable].[CurrencyAlternateKey] = 'DEM' OR [refTable].[CurrencyAlternateKey] = 'EUR' OR [refTable].[CurrencyAlternateKey] = 'FRF' OR [refTable].[CurrencyAlternateKey] = 'GBP' OR [refTable].[CurrencyAlternateKey] = 'JPY' OR [refTable].[CurrencyAlternateKey] = 'MXN' OR [refTable].[CurrencyAlternateKey] = 'SAR' OR [refTable].[CurrencyAlternateKey] = 'USD' OR [refTable].[CurrencyAlternateKey] = 'VEB'
7. En la página Columnas , realice las selecciones siguientes: . En el panel Columnas de entrada disponibles , arrastre CurrencyID al panel Columnas de búsqueda disponibles y suéltelo en CurrencyAlternateKey. a. En la lista Columnas de búsqueda disponibles , active la casilla situada a la izquierda de CurrencyKey. 8. Haga clic en Aceptar para volver a la superficie de diseño Flujo de datos . 9. Haga clic con el botón derecho en la transformación Lookup Currency Key y haga clic en Propiedades.
10. En la ventana Propiedades, compruebe que la propiedad LocaleID esté establecida en Inglés (Estados Unidos) y la propiedad DefaultCodePage en 1252. Para agregar y configurar la transformación Lookup Date Key 1. En el cuadro de herramientas de SSIS, arrastre Búsqueda a la superficie de diseño Flujo de datos . Coloque Búsqueda justo debajo de la transformación Lookup Currency Key . 2. Haga clic en la transformación Lookup Currency Key y arrastre la flecha verde hasta la transformación Búsqueda que acaba de agregar para conectar los dos componentes. 3. En el cuadro de diálogo Selección de entrada y salida , en el cuadro de lista Salida , haga clic en Salida de entradas coincidentes de búsqueda y, a continuación, haga clic en Aceptar. 4. En la superficie de diseño Flujo de datos , haga clic en Búsqueda en la transformación Búsqueda recién agregada y cambie el nombre por Lookup Date Key. 5. Haga doble clic en la transformación Lookup Date Key . 6. En la página General , seleccione Caché parcial. 7. En la página Conexión , realice las selecciones siguientes: a. En el cuadro de diálogo Administrador de conexiones OLEDB , asegúrese de que se muestra localhost.AdventureWorksDW2012 . b. En el cuadro Usar una tabla o vista , escriba o seleccione [dbo].[DimDate]. 8. En la página Columnas , realice las selecciones siguientes: . En el panel Columnas de entrada disponibles , arrastre CurrencyDate al panel Columnas de búsqueda disponibles y suéltelo en FullDateAlternateKey. a. En la lista Columnas de búsqueda disponibles , active la casilla situada a la izquierda de DateKey. 9. En la página Avanzadas , revise las opciones de almacenamiento en memoria caché. 10. Haga clic en Aceptar para volver a la superficie de diseño Flujo de datos . 11. Haga clic con el botón derecho en la transformación Lookup Date Key y haga clic en Propiedades. 12. En la ventana Propiedades, compruebe que la propiedad LocaleID esté establecida en Inglés (Estados Unidos) y la propiedad DefaultCodePage en 1252.
Lección 1.7: Agregar y configurar el destino de OLE DB Ahora, el paquete puede extraer datos de un origen de archivo plano y transformar dichos datos en un formato compatible con el destino. La tarea siguiente consiste realmente en cargar los datos transformados en el destino. Para cargar los datos, debe agregar un destino de OLE DB al flujo de datos. El destino de OLE DB puede utilizar una tabla de bases de datos, una vista o un comando SQL para cargar datos en distintas bases de datos compatibles con OLE DB. En este procedimiento, se agrega y configura un destino de OLE DB para utilizar el administrador de conexiones de OLE DB creado con anterioridad. Para agregar y configurar un destino de OLE DB de ejemplo 1. En el Cuadro de herramientas de SSIS, expanda Otros destinosy arrastre Destino de OLE DB a la superficie de diseño de la pestaña Flujo de datos . Coloque el destino de OLE DB directamente debajo de la transformaciónLookup Date Key . 2. Haga clic en la transformación Lookup Date Key y arrastre la flecha verde hasta el Destino de OLE DB que acaba de agregar para conectar los dos componentes entre sí. 3. En el cuadro de diálogo Selección de entrada y salida , en el cuadro de lista Salida , haga clic en Salida de entradas coincidentes de búsqueday, después, haga clic en Aceptar. 4. En la superficie de diseño Flujo de datos , haga clic en Destino de OLE DB en el componente Destino de OLE DB que acaba de agregar y cambie el nombre por Sample OLE DB Destination. 5. Haga doble clic en Sample OLE DB Destination. 6. En el cuadro de diálogo Editor de destino de OLE DB , asegúrese de que localhost.AdventureWorksDW2012está seleccionado en el cuadro Administrador de conexiones OLE DB . 7. En el cuadro Nombre de la tabla o la vista , escriba o seleccione [dbo].[FactCurrencyRate]. 8. Haga clic en el botón Nuevo para crear una nueva tabla. Cambie el nombre de la tabla en el script aNewFactCurrencyRate. Haga clic en Aceptar. 9. Al hacer clic en Aceptar, se cerrará el cuadro de diálogo y el Nombre de la tabla o la vista cambiará automáticamente a NewFactCurrencyRate. 10. Haga clic en Asignaciones. 11. Compruebe que las columnas de entrada AverageRate, CurrencyKey, EndOfDayRatey DateKey están correctamente asignadas a las columnas de destino. Si hay columnas con el mismo nombre asignadas, la asignación es correcta.
12. Haga clic en Aceptar. 13. Haga clic con el botón derecho en Sample OLE DB Destination y haga clic en Propiedades. 14. En la ventana Propiedades, compruebe que la propiedad LocaleID esté establecida en Inglés (Estados Unidos) y la propiedadDefaultCodePage en 1252.
Lección 1.8: Lo más fácil de entender el paquete de la lección 1 Ahora que ha terminado la configuración del paquete de la lección 1, es una buena idea ordenar el diseño del paquete. Si las formas de los diseños de los flujos de datos y de control tienen tamaños aleatorios o no están alineadas o agrupadas, la funcionalidad del paquete puede resultar más difícil de comprender. SQL Server Data Tools proporciona herramientas que permiten aplicar formato al diseño del paquete de forma rápida y sencilla. Las características de formato incluyen la capacidad de hacer que las formas tengan el mismo tamaño, de alinearlas y de manipular el espaciado horizontal y vertical entre las formas. Otra forma de mejorar la comprensión de la funcionalidad de un paquete es agregar anotaciones que la describan. En esta tarea usará las características de formato de SQL Server Data Tools para mejorar el diseño del flujo de datos y agregará una anotación al flujo de datos. Para aplicar formato al diseño del flujo de datos 1. Si el paquete de la lección 1 no está abierto todavía, haga doble clic en Lesson 1.dtsx en el Explorador de soluciones. 2. Haga clic en la pestaña Flujo de datos . 3. Coloque el cursor en la parte superior derecha de la transformación Extract Sample Currency, haga clic y, a continuación, arrastre el cursor por todos los componentes de flujo de datos. 4. En el menú Formato , seleccione Igualar tamañoy, a continuación, haga clic en Ambos. 5. Con los objetos del flujo de datos seleccionados, en el menú Formato , seleccione Alineary haga clic en Lados izquierdos. Para agregar una anotación al flujo de datos 1. Haga clic con el botón derecho en cualquier parte de la superficie de diseño del flujo de datos y haga clic en Agregar anotación. 2. Escriba o pegue el texto siguiente en el cuadro de anotación. El flujo de datos extrae datos de un archivo, busca valores en la columna CurrencyKey de la tabla DimCurrency y la columna DateKey de la tabla DimDate, y escribe los datos en la tabla NewFactCurrencyRate. Para ajustar el texto en el cuadro de anotación, coloque el cursor donde desee empezar una nueva línea y presione la tecla Intro. Si no agrega texto al cuadro de anotación, desaparecerá al hacer clic fuera del cuadro.
Lección 1.9: Probar el paquete del Tutorial lección 1 En esta lección, ha llevado a cabo las tareas siguientes: Ha creado un proyecto de SSIS . Ha configurado los administradores de conexión que el paquete necesita para conectarse a los datos de origen y de destino. Ha agregado un flujo de datos que toma los datos de un origen de archivo plano, realiza las transformaciones de búsqueda necesarias en los datos y configura los datos para el destino. El paquete ya se ha completado. Ha llegado el momento de probarlo.
Comprobar el diseño del paquete Antes de probar el paquete, debe comprobar que los flujos de datos y de control de la lección 1 contienen los objetos mostrados en los diagramas siguientes. Flujo de control
Flujo de datos
Para ejecutar el paquete del tutorial de la lección 1 1. En el menú Depurar , haga clic en Iniciar depuración. El paquete se ejecutará, dando lugar a la correcta inclusión de 1097 filas en la tabla de hechos FactCurrency de AdventureWorksDW2012. 2. Una vez que se haya completado la ejecución del paquete, en el menú Depurar , haga clic en Detener depuración.
Lección 2: Agregar bucles con SSIS En la Lección 1: Crear el proyecto y el paquete básico, creó un paquete que extraía datos de un solo origen de archivo plano, transformó los datos mediante transformaciones de búsqueda y, por último, cargó los datos en la tabla de hechosFactCurrency de la base de datos de ejemplo AdventureWorksDW2012 . No obstante, no es muy habitual utilizar un solo archivo plano para el proceso de extracción, transformación y carga (ETL).Un proceso ETL típico utilizaría datos extraídos de varios orígenes de archivos planos. Para extraer datos de varios orígenes, se requiere un flujo de control iterativo. Una de las características más esperadas de Microsoft Integration Services es la capacidad de agregar fácilmente una iteración o un bucle a los paquetes. Integration Services proporciona dos tipos de contenedores para crear bucles en los paquetes: el contenedor de bucles Foreach y el contenedor de bucles For. El contenedor de bucles Foreach usa un enumerador para crear el bucle, mientras que el contenedor de bucles For suele emplear una expresión variable. En esta lección se utiliza el contenedor de bucles Foreach. El contenedor de bucles Foreach permite que un paquete repita el flujo de control para cada miembro de un enumerador determinado. Con el contenedor de bucles Foreach puede enumerar lo siguiente: Filas de conjuntos de registros ADO Información del esquema de ADO .Net Estructuras de archivos y directorios Variables del sistema, de paquete y de usuario Objetos enumerables contenidos en una variable Elementos de una colección Nodos de una expresión del lenguaje de rutas XML (XPath) SQL Server Objetos de administración (SMO) En esta lección, modificará el paquete ETL simple creado en la lección 1 para beneficiarse del contenedor de bucles Foreach. También establecerá variables de paquete definidas por el usuario para que el paquete del tutorial pueda iterarse en todos los archivos planos de la carpeta. Si no ha finalizado la lección anterior, también puede copiar el paquete de la lección 1 finalizada incluido en el tutorial. En esta lección, no modificará el flujo de datos, solamente modificará el flujo de control.
Importante Para este tutorial, se necesita la base de datos de ejemplo AdventureWorksDW2012 . Para obtener más información sobre cómo instalar e implementar AdventureWorksDW2012, consulte Ejemplos de productos de Reporting Services en CodePlex.
Lección 2.1: Copiar el paquete de la lección 1 En esta tarea, creará una copia del paquete que ha creado en la lección 1, denominado Lesson 1.dtsx. Si no ha completado la lección 1, puede agregar al proyecto el paquete completado de la lección 1 que se incluye con el tutorial y, después, copiar dicho paquete. Usará esta nueva copia en toda la lección 2. Para crear el paquete de la lección 2 1. Si SQL Server Data Tools no está abierto, haga clic en Inicio, seleccione Todos los programas, Microsoft SQL Server 2012y, después, haga clic en SQL Server Data Tools. 2. En el menú Archivo , haga clic en Abriry en Proyecto o solución, haga clic en la carpeta SSIS Tutorial , haga clic en Abriry, después, haga doble clic en SSIS Tutorial.sln. 3. En el Explorador de soluciones, haga clic con el botón derecho en Lesson 1.dtsxy luego haga clic en Copiar. 4. En el Explorador de soluciones, haga clic con el botón derecho en Paquetes SSISy, después, haga clic en Pegar. De forma predeterminada, el paquete copiado se denominará Lesson 2.dtsx. 5. En el Explorador de soluciones, haga doble clic en Lesson 2.dtsx para abrir el paquete 6. Haga clic con el botón derecho en cualquier parte del fondo de la superficie de diseño de Flujo de control y haga clic en Propiedades. 7. En la ventana Propiedades, actualice la propiedad Nombre a Lesson 2. 8. Haga clic en el cuadro de la propiedad Id. , haga clic en la flecha desplegable y luego haga clic en . Para agregar el paquete de la lección 1 completada 1. Abra SQL Server Data Tools y el proyecto SSIS Tutorial. 2. En el Explorador de soluciones, haga clic con el botón derecho en Paquetes SSISy haga clic en Agregar paquete existente. 3. En el cuadro de diálogo Agregar copia de paquete existente , en Ubicación del paquete, seleccione Sistema de archivos. 4. Haga clic en el botón Examinar (…) , vaya a Lesson 1.dtsx en el equipo y, después, haga clic en Abrir. Para descargar todos los paquetes de lecciones de este tutorial, haga lo siguiente. a. Navegue a los ejemplos del producto Integration Services b. Haga clic en la pestaña DOWNLOADS . c. Haga clic en el archivo SQL2012.Integration_Services.Create_Simple_ETL_Tutorial.Sample.zip.
5. Copie y pegue el paquete de la lección 1 tal como se describe en los pasos 3 a 8 del procedimiento anterior.
Lección 2. 2: Agregar y configurar el contenedor de bucles Foreach En esta tarea, agregará la capacidad de buscar en una carpeta de archivos planos y aplicará la misma transformación de flujo de datos utilizada en la lección 1 a cada uno de dichos archivos planos. Para ello, agregará y configurará un contenedor de bucles Foreach para el flujo de control. El contenedor de bucles Foreach que agregue debe poder conectarse a cada uno de los archivos planos de la carpeta.Puesto que todos los archivos de la carpeta tienen el mismo formato, el contenedor de bucles Foreach puede utilizar el mismo administrador de conexiones de archivos planos para conectarse a cada uno de estos archivos. El administrador de conexiones de archivos planos que el contenedor utilizará es el mismo administrador de conexiones de archivos planos que creó en la lección 1. Actualmente, el administrador de conexiones de archivos planos de la lección 1 se conecta a un único archivo plano específico. Para conectarse de forma iterativa a cada uno de los archivos planos de la carpeta, deberá configurar el contenedor de bucles Foreach y el administrador de conexiones de archivos planos de este modo: Contenedor de bucles Foreach: Asignará el valor enumerado del contenedor a una variable de paquete definida por el usuario. El contenedor usará esta variable definida por el usuario para modificar de forma dinámica la propiedad ConnectionString del administrador de conexiones de archivos planos y conectar de forma iterativa cada uno de los archivos planos de la carpeta. Administrador de conexiones de archivos planos: Modificará el administrador de conexiones creado en la lección 1 mediante una variable definida por el usuario para rellenar la propiedad ConnectionString del administrador de conexiones. En los procedimientos de esta tarea se muestra cómo crear y modificar el contenedor de bucles Foreach para utilizar una variable de paquete definida por el usuario y agregar la tarea de flujo de datos al bucle. Aprenderá a modificar el administrador de conexiones de archivos planos para utilizar una variable definida por el usuario en la siguiente tarea. Una vez realizadas estas modificaciones en el paquete, cuando éste se ejecute, el contenedor de bucles Foreach se iterará en la colección de archivos de la carpeta Datos de ejemplo. Cada vez que se encuentre un archivo que coincida con los criterios, el contenedor de bucles Foreach rellenará la variable definida por el usuario con el nombre de archivo, asignará la variable definida por el
usuario a la propiedad ConnectionString del administrador de conexiones de archivos planos Sample Currency Data y, después, ejecutará el flujo de datos en ese archivo. Por consiguiente, en cada iteración del bucle Foreach la tarea de flujo de datos utilizará un archivo plano distinto. Nota Dado que Microsoft Integration Services separa controlar el flujo de flujo de datos, los bucles que agregue al flujo de control no precisarán ninguna modificación en el flujo de datos. Por consiguiente, no es necesario modificar el flujo de datos creado en la lección 1. Para agregar un contenedor de bucles Foreach 1. En SQL Server Data Tools, haga clic en la pestaña Flujo de control . 2. En el Cuadro de herramientas de SSIS, expanda Contenedoresy arrastre un Contenedor de bucles Foreach a la superficie de diseño de la pestaña Flujo de control . 3. Haga clic con el botón derecho en el Contenedor de bucles Foreach que acaba de agregar y seleccione Editar. 4. En el cuadro de diálogo Editor de bucles Foreach , en la página General , en Nombre, escriba Foreach File in Folder. Haga clic en Aceptar. 5. Haga clic con el botón derecho en el contenedor de bucles Foreach, haga clic en Propiedadesy, en la ventana Propiedades, compruebe que la propiedad LocaleID esté establecida en Inglés (Estados Unidos). Para configurar el enumerador para el contenedor de bucles Foreach 1. Haga doble clic en Foreach File in Folder para volver a abrir el Editor de bucles Foreach. 2. Haga clic en Colección. 3. En la página Colección , seleccione Enumerador de archivos Foreach. 4. En el grupo Configuración de enumerador , haga clic en Examinar. 5. En el cuadro de diálogo Buscar carpeta , busque la carpeta del equipo que contenga los archivos Currency_.txt. Estos datos de ejemplo se incluyen con los paquetes de lecciones de SSIS . Para descargar los datos de ejemplo y los paquetes de lecciones, haga lo siguiente. a. Navegue a los ejemplos del producto Integration Services. b. Haga clic en la pestaña DOWNLOADS . c. Haga clic en el vínculo para la SQL2012. Integration_Services.Create_Simple_ETL_Tutorial.Sample.ziparchivo. 6. En el cuadro Archivos, escriba Currency_*.txt. Para asignar el enumerador a una variable definida por el usuario 1. Haga clic en Asignaciones de variables. 2. En el asignaciones de variables página, en la Variable columna, haga clic en la celda vacía y seleccione
.
3. En el cuadro de diálogo Agregar variable , en Nombre, escriba varFileName. Importante Los nombres de variables distinguen entre mayúsculas y minúsculas. 4. Haga clic en Aceptar. 5. Haga clic de nuevo en Aceptar para salir del cuadro de diálogo Editor de bucles Foreach . Para agregar la tarea de flujo de datos al bucle
Arrastre la tarea Flujo de datos Extract Sample Currency Data al contenedor de bucles Foreach que ahora se denomina Foreach File in Folder.
Lección 2.3: Modificar el Administrador de conexión de archivos planos En esta tarea, modificará el administrador de conexiones de archivos planos que creó y configuró en la lección 1. Cuando se creó inicialmente, el administrador de conexiones de archivos planos se configuró para cargar de forma estática un único archivo. Para permitir que el Administrador de conexiones de archivos planos cargue archivos de forma iterativa, debe modificar la propiedad ConnectionString del administrador de conexiones de modo que acepte la variable User:varFileName , definida por el usuario, que contiene la ruta de acceso del archivo que se cargará en tiempo de ejecución. Al modificar el administrador de conexiones para que use la variable definida por el usuario User::varFileName para rellenar la propiedad ConnectionString del administrador de conexiones, este podrá conectarse a distintos archivos planos. En tiempo de ejecución, cada iteración del contenedor de bucles Foreach actualizará dinámicamente la variable User::varFileName . A su vez, actualizar esta variable da lugar a que el administrador de conexiones se conecte a un archivo plano distinto, y que la tarea de flujo de datos procese un conjunto de datos distinto. Para configurar el Administrador de conexiones de archivos planos de modo que utilice una variable para la cadena de conexión 1. En el panel Administradores de conexión , haga clic con el botón derecho en Sample Flat File Source Datay, después, seleccione Propiedades. 2. En la ventana Propiedades, para Expresiones, haga clic en la celda vacía y,después, haga clic en el botón de puntos suspensivos (…). 3. En el cuadro de diálogo Editor de expresiones de propiedad , en la columna Propiedad , escriba o seleccione ConnectionString. 4. En la columna Expresión , haga clic en el botón de puntos suspensivos (…) para abrir el cuadro de diálogoGenerador de expresiones . 5. En el cuadro de diálogo Generador de expresiones , expanda el nodo Variables . 6. Arrastre la variable User::varFileNamehasta el cuadro Expresión . 7. Haga clic en Aceptar para cerrar el cuadro de diálogo Generador de expresiones . 8. Haga clic en Aceptar de nuevo para cerrar el cuadro de diálogo Editor de expresiones de propiedad .
Lección 2.4: probar el paquete del Tutorial lección 2 Con el contenedor de bucles Foreach y el administrador de conexiones de archivo plano que ha configurado, el paquete de la lección 2 puede iterarse a través de la colección de 14 archivos planos de la carpeta Datos de ejemplo. Cada vez que se encuentra un archivo que coincide con los criterios de nombre de archivo especificados, el contenedor de bucles Foreach rellena la variable definida por el usuario con el nombre de archivo. Esta variable, a su vez, actualiza la propiedad ConnectionString del administrador de conexiones de archivos planos, y se establece una conexión con el archivo plano nuevo. A continuación, el contenedor de bucles Foreach ejecuta la tarea de flujo de datos sin modificar en los datos del nuevo archivo plano antes de establecer conexión con el siguiente archivo de la carpeta. Utilice el procedimiento siguiente para probar la nueva función del bucle que ha agregado al paquete. Nota Si ejecutó el paquete desde la lección 1, necesitará eliminar los registros de dbo.FactCurrency en AdventureWorksDW2012 antes de ejecutar el paquete desde esta lección; de lo contrario, el paquete producirá errores que indican la infracción de una restricción de clave principal. Recibirá los mismos errores si ejecuta el paquete seleccionando Depurar/Iniciar la depuración (o presiona F5) porque se ejecutarán las lecciones 1 y 2. La lección 2 intentará insertar registros que ya se insertaron en la lección 1.
Comprobar el diseño del paquete Antes de probar el paquete, debe comprobar que los flujos de datos y de control de la lección 2 contienen los objetos mostrados en los diagramas siguientes. El flujo de datos debe ser idéntico al flujo de datos de la lección 1. Flujo de control
Flujo de datos
Para probar el paquete del tutorial de la lección 2 1. En el Explorador de soluciones, haga clic con el botón derecho en Lesson 2.dtsx y, después, haga clic enEjecutar paquete. El paquete se ejecutará. Puede comprobar el estado de cada bucle en la ventana Resultado o haciendo clic en la pestaña Progreso . Por ejemplo, puede ver que se han agregado 1.097 líneas a la tabla de destino del archivo Currency_VEB.txt. 2. Una vez que se haya completado la ejecución del paquete, en el menú Depurar , haga clic en Detener depuración.
Lección 3: Agregar registro con SSIS Microsoft Integration Services incluye características de registro que permiten supervisar y solucionar los problemas de ejecución de paquetes mediante el seguimiento de eventos de tarea y de contenedor. La características de registro son flexibles, pueden habilitarse en el nivel de paquete o en tareas y contendores individuales del paquete. Puede seleccionar qué eventos deben registrarse y crear varios registros para un único paquete. El registro lo proporciona un proveedor de registro. Cada proveedor de registro puede escribir información de registro en distintos formatos y tipos de destino. Integration Services proporciona los siguientes proveedores de registro: Archivo de texto SQL Server Profiler Registro de eventos de Windows SQL Server Archivo XML En esta lección, creará una copia del paquete que creó en la Lección 2: Agregar bucles con SSIS. Utilizando este nuevo paquete, luego agregará y configurará el registro para supervisar eventos específicos durante la ejecución del paquete. Si no ha finalizado cualquiera de las lecciones anteriores, también puede copiar el paquete de la lección 2 finalizada incluido en el tutorial. Importante Para este tutorial, se necesita la base de datos de ejemplo AdventureWorksDW2012 . Para obtener más información sobre cómo instalar e implementar AdventureWorksDW2012, ejemplos de producto de Reporting Services en CodePlex.
Lección 3.1: copiar el paquete de la lección 2 En esta tarea, creará una copia del paquete que ha creado en la lección 2, denominado Lesson 2.dtsx. También puede agregar al proyecto el paquete completado de la lección 2 que se incluye con el tutorial y, después, copiar dicho paquete.Usará esta nueva copia en toda la lección 3. Para crear el paquete de la lección 3 1. Si SQL Server Data Tools no está abierto, haga clic en Inicio, seleccione Todos los programas, Microsoft SQL Server 2012y, después, haga clic en SQL Server Data Tools. 2. En el menú Archivo , haga clic en Abrir, haga clic en Proyecto o solución, seleccione SSIS Tutorial , haga clic en Abriry, después, haga doble clic en SSIS Tutorial.sln. 3. En el Explorador de soluciones, haga clic con el botón derecho en Lesson 2.dtsxy, después, haga clic en Copiar. 4. En el Explorador de soluciones, haga clic con el botón derecho en Paquetes SSISy, después, haga clic en Pegar. De forma predeterminada, el paquete copiado se denomina Lesson 3.dtsx. 5. En el Explorador de soluciones, haga doble clic en Lesson 3.dtsx para abrir el paquete. 6. Haga clic con el botón derecho en cualquier parte del fondo de la pestaña Flujo de control y haga clic en Propiedades. 7. En la ventana Propiedades, actualice la propiedad Nombre a Lesson 3. 8. Haga clic en el cuadro para la propiedad ID y, en la lista, haga clic en . Para agregar el paquete de la lección 2 completada 1. Abra SQL Server Data Tools (SSDT) y abra el proyecto SSIS Tutorial. 2. En el Explorador de soluciones, haga clic con el botón derecho en Paquetes SSISy haga clic en Agregar paquete existente. 3. En el cuadro de diálogo Agregar copia de paquete existente , en Ubicación del paquete, seleccione Sistema de archivos. 4. Haga clic en el botón de búsqueda (…) , vaya a Lesson 2.dtsx en el equipo y, después, haga clic en Abrir. Para descargar todos los paquetes de lecciones de este tutorial, haga lo siguiente. a. Navegue a los ejemplos del producto Integration Services b. Haga clic en la pestaña DOWNLOADS . c. Haga clic en el archivo SQL2012.Integration_Services.Create_Simple_ETL_Tutorial.Sample.zip. 5. Copie y pegue el paquete de la lección 3 tal como se describe en los pasos del 3 a 8 del procedimiento anterior.
Lección 3.2: Agregar y configurar el registro En esta tarea, habilitará el registro del flujo de datos del paquete Lesson 3.dtsx. A continuación, configurará un proveedor de registro de archivos de texto para registrar los eventos PipelineExecutionPlan y PipelineExecuteTrees. El proveedor de registro de archivos de texto crea registros que pueden verse y transportarse con facilidad. La sencillez de estos archivos de registro hace que sean especialmente útiles durante la fase de prueba básica de un paquete. También puede ver las entradas del archivo de registro en la ventana Registrar eventos del Diseñador de SSIS . Para agregar el registro al paquete 1. En el menú SSIS , haga clic en Registro. 2. En el cuadro de diálogo Configurar registros de SSIS , asegúrese de que en el panel Contenedores el objeto situado en la posición superior, que representa el paquete de la lección 3, está seleccionado. 3. En la pestaña Proveedores y registros , en el cuadro Tipo de proveedor , seleccione Proveedor de registro SSIS para archivos de textoy haga clic en Agregar. Integration Services agrega un nuevo proveedor de registro para archivos de texto al paquete con el nombre predeterminado Proveedor de registro SSIS para archivos de texto. Ahora puede configurar el nuevo proveedor de registro. 4. En la columna Nombre , escriba Lesson 3 Log File. 5. Si lo desea, modifique el campo Descripción. 6. En la columna Configuración haga clic en para especificar el destino en el que se escribe la información de registro. En el cuadro de diálogo Editor del administrador de conexiones de archivos , en Tipo de uso, seleccioneCrear archivoy, a continuación, haga clic en Examinar. De forma predeterminada, el cuadro de diálogo Seleccionar archivo abre la carpeta del proyecto, pero puede guardar la información de registro en cualquier ubicación. 7. En el cuadro de diálogo Seleccionar archivo , en el cuadro Nombre de archivo , escriba TutorialLog.logy haga clic en Abrir. 8. Haga clic en Aceptar para cerrar el cuadro de diálogo Editor del administrador de conexiones de archivos . 9. En el panel Contenedores , expanda todos los nodos de la jerarquía del contenedor de paquetes y, a continuación, desactive todas las casillas, incluida Extract Sample Currency Data . Ahora, active la casilla Extract Sample Currency Data para obtener solo los eventos de este nodo. Importante
Si la casilla Extract Sample Currency Data está atenuada en lugar de activada, la tarea usa la configuración de registro del contenedor primario y no se pueden habilitar los eventos de registro específicos de la tarea. 10. En la columna Eventos de la pestaña Detalles , seleccione los eventos PipelineExecutionPlan yPipelineExecutionTrees . 11. Haga clic en Avanzadas para revisar los detalles que el proveedor de registro escribirá en el registro para cada evento. De forma predeterminada, todas las categorías de información se seleccionan automáticamente para los eventos que se especifiquen. 12. Haga clic en Básicas para ocultar las categorías de información. 13. En la pestaña Proveedores y registros , en la columna Nombre , seleccione Lesson 3 Log File. Una vez que haya creado un proveedor de registro para el paquete, si lo desea, puede anular su selección para desactivar temporalmente el registro, sin tener que eliminar un proveedor de registro y crearlo de nuevo. 14. Haga clic en Aceptar.
Lección 3.3: probar el paquete del Tutorial lección 3 En esta tarea, ejecutará el paquete Lesson 3.dtsx. Al ejecutar el paquete, en la ventana Registrar eventos se mostrará una lista de las entradas del registro que se escriben en el archivo de registro. Una vez que haya finalizado la ejecución del paquete, comprobará el contenido del archivo de registro generado por el proveedor de registro.
Comprobar el diseño del paquete Antes de probar el paquete, debe comprobar que los flujos de datos y de control de la lección 3 contienen los objetos mostrados en los diagramas siguientes. El flujo de control debe ser idéntico al flujo de datos de la lección 2. El flujo de datos debe ser idéntico al flujo de datos de las lecciones 1 y 2. Flujo de control
Flujo de datos
Para ejecutar el paquete de tutorial de la lección 4 1. En el menú SSIS, haga clic en Registrar eventos. 2. En el menú Depurar , haga clic en Iniciar depuración. 3. Una vez que se haya completado la ejecución del paquete, en el menú Depurar , haga clic en Detener depuración. Para examinar el archivo de registro generado Mediante el Bloc de notas o cualquier otro editor de texto, abra el archivo TutorialLog.log.
Aunque la semántica de la información generada para los eventos PipelineExecutionPlan yPipelineExecutionTrees queda fuera del ámbito de este tutorial, puede ver que la primera línea enumera los campos de información especificados en la pestaña Detalles del cuadro de diálogo Configurar registros de SSIS . Además, puede comprobar que los dos eventos que ha seleccionado, PipelineExecutionPlan y PipelineExecutionTrees, se han registrado para cada iteración del bucle Foreach.
Lección 4: Agregar redirección de flujo de errores con SSIS Para administrar los errores que puedan aparecer en el proceso de transformación, Microsoft Integration Services ofrece la posibilidad de decidir para cada componente y cada columna cómo administrar los datos que no pueden transformarse. Puede optar por omitir un error en determinadas columnas, redireccionar toda la fila que ha generado el error o simplemente rechazar el componente debido a un error. De forma predeterminada, todos los componentes deIntegration Services están configurados para ser rechazados si se produce un error. Rechazar el componente debido a un error, causa, a su vez, que el paquete también genere un error y que todos los procesos subsiguientes se detengan. En lugar de dejar que los errores detengan la ejecución de los paquetes, es recomendable configurar y administrar los posibles errores de procesamiento como si se produjeran en la transformación. Si bien puede optar por omitir los errores a fin de garantizar que el paquete se ejecute correctamente, generalmente es mejor redireccionar la fila que genera el error a otra ruta de proceso en la que los datos y el error puedan persistir, puedan examinarse y puedan procesarse de nuevo más adelante. En esta lección, creará una copia del paquete que ha desarrollado en la Lección 3: Agregar registro con SSIS. Trabajando con este paquete nuevo, creará una versión dañada de los archivos de datos de ejemplo. El archivo dañado forzará la aparición de un error de proceso al ejecutar el paquete. Para administrar los datos del error, agregará y configurará un destino de archivo plano que escribirá en un archivo las filas que no puedan encontrar un valor de búsqueda en la transformación Lookup Currency Key. Antes de escribir los datos del error en el archivo, incluirá un componente de script que utiliza un script para obtener descripciones de error. A continuación, volverá a configurar la transformación Lookup Currency Key para redireccionar los datos que no hayan podido procesarse en la transformación Script. Importante Para este tutorial, se necesita la base de datos de ejemplo AdventureWorksDW2012 . Para obtener más información sobre cómo instalar e implementar AdventureWorksDW2012, ejemplos de producto de Reporting Services en CodePlex.
Lección 4.1: copiar el paquete de la lección 3 En esta tarea, creará una copia del paquete que ha creado en la lección 3, denominado Lesson 3.dtsx. Por otra parte, si no ha completado la lección 3, puede agregar al proyecto el paquete completado de la lección 3 que se incluye con el tutorial y, a continuación, copiar dicho paquete para trabajar. Usará esta nueva copia en toda la lección 4. Para crear el paquete de la lección 4 1. Si SQL Server Data Tools no está abierto, haga clic en Inicio, seleccione Todos los programas, Microsoft SQL Servery, después, haga clic en SQL Server Data Tools. 2. En el menú Archivo , haga clic en Abrir, haga clic en Proyecto o solución, seleccione SSIS Tutorial , haga clic en Abriry, después, haga doble clic en SSIS Tutorial.sln. 3. En el Explorador de soluciones, haga clic con el botón derecho en Lesson 3.dtsxy, después, haga clic en Copiar. 4. En el Explorador de soluciones, haga clic con el botón derecho en Paquetes SSISy, después, haga clic en Pegar. De forma predeterminada, el paquete copiado se denomina Lesson 4.dtsx. 5. En el Explorador de soluciones, haga doble clic en Lesson 4.dtsx para abrir el paquete. 6. Haga clic con el botón derecho en cualquier parte del fondo de la pestaña Flujo de control y haga clic en Propiedades. 7. En la ventana Propiedades, actualice la propiedad Name a Lesson 4. 8. Haga clic en el cuadro para la propiedad ID y, en la lista, haga clic en . Para agregar el paquete de la lección 3 completada 1. Abra SQL Server Data Tools (SSDT) y abra el proyecto SSIS Tutorial. 2. En el Explorador de soluciones, haga clic con el botón derecho en Paquetes SSISy haga clic en Agregar paquete existente. 3. En el cuadro de diálogo Agregar copia de paquete existente , en Ubicación del paquete, seleccione Sistema de archivos. 4. Haga clic en el botón para examinar (…) , vaya a Lesson 3.dtsx en la máquina y, después, haga clic en Abrir. Para descargar todos los paquetes de lecciones de este tutorial, haga lo siguiente. a. Navegue a los ejemplos del producto Integration Services b. Haga clic en la pestaña DOWNLOADS . c. Haga clic en el archivo SQL2012.Integration_Services.Create_Simple_ETL_Tutorial.Sample.zip.
5. Copie y pegue el paquete de la lección 3 tal como se describe en los pasos del 3 a 8 del procedimiento anterior.
Lección 4: 2: crear un archivo dañado Para demostrar los errores de configuración y el control de los errores de transformación, debe crear un archivo plano de ejemplo que, cuando se procese, genere un error en un componente. En esta tarea, creará una copia de un archivo plano de ejemplo existente. Luego abrirá el archivo en el Bloc de notas y modificará la columna CurrencyID para garantizar que no pueda producir una coincidencia durante la búsqueda de transformaciones. Cuando se procese el archivo nuevo, el error de búsqueda hará que se produzca un error en la transformación Lookup Currency Key y, por consiguiente, el resto del paquete generará un error. Una vez que haya creado el archivo de ejemplo dañado, ejecutará el paquete para ver su error. Para crear un archivo plano de ejemplo dañado 1. En el Bloc de notas o en cualquier otro editor de texto, abra el archivo Currency_VEB.txt. Los datos de ejemplo se incluyen con los paquetes de lecciones de SSIS. Para descargar los datos de ejemplo y los paquetes de lecciones, haga lo siguiente. a. Navegue a los ejemplos del producto Integration Services. b. Haga clic en la pestaña DOWNLOADS . c. Haga clic en el archivo SQL2012.Integration_Services.Create_Simple_ETL_Tutorial.Sample.zip. 2. Utilice la función de búsqueda y sustitución del editor de texto para buscar todas las instancias de VEB y sustituirlas por BAD. 3. Guarde el archivo modificado en la misma carpeta que los otros archivos de datos de ejemplo con el nombreCurrency_BAD.txt. Importante Asegúrese de que Currency_BAD.txt se guarde en la misma carpeta que los demás archivos de datos de ejemplo. 4. Cierre el editor de texto. Para comprobar que se producirá un error durante la ejecución 1. En el menú Depurar , haga clic en Iniciar depuración. En la tercera iteración del flujo de datos, la transformación Lookup Currency Key intenta procesar el archivo Currency_BAD.txt y la transformación generará un error. El error de la transformación hará que todo el paquete genere un error. 2. En el menú Depurar , haga clic en Detener depuración. 3. En la superficie de diseño, haga clic en la pestaña Resultados de la ejecución . 4. Examine el registro y compruebe que se ha producido el siguiente error no controlado: [Lookup Currency Key[27]] Error: Row yielded no match during lookup.
Nota El número 27 es el Id. del componente. Este valor se asigna al generar el flujo de datos, y es posible que el valor del paquete sea diferente.
Lección 4.3: Agregar redireccionamiento de flujo de errores Como se ha mostrado en la tarea anterior, la transformación Lookup Currency Key no puede generar una coincidencia cuando la transformación intenta procesar el archivo plano de ejemplo dañado que ha generado un error. Puesto que la transformación utiliza la configuración de salida de error predeterminada, cualquier error da lugar a un error de la transformación. Cuando se produce un error en la transformación, también se produce un error en el resto del paquete. En lugar de permitir que se produzca un error en la transformación, puede configurar el componente de modo que la fila que genera el error se redirija a otra ruta de procesamiento mediante la salida de error. El uso de una ruta de procesamiento independiente permite hacer varias cosas. Por ejemplo, puede intentar eliminar los datos y luego volver a procesar la fila con error. O bien, puede guardar la fila con error junto con otra información adicional sobre el error para comprobarla y procesarla de nuevo más adelante. En esta tarea configurará la transformación Lookup Currency Key para redirigir cualquier fila con errores a la salida de errores. En la rama de errores del flujo de datos, estas filas se escribirán en un archivo. De forma predeterminada, las dos columnas adicionales en una salida de errores de Integration Services , ErrorCode yErrorColumn, solo contienen códigos numéricos que representan un número de error y el Id. de la columna en la que se produjo el error. Estos valores numéricos pueden tener un uso limitado sin la correspondiente descripción del error. Para mejorar la utilidad de la salida de errores, antes de que el paquete escriba las filas con errores en el archivo, se utilizará un componente de script para obtener acceso a la API de Integration Services y obtener una descripción del error.
Para configurar una salida de error 1. En el Cuadro de herramientas de SSIS, expanda Comunesy, a continuación, arrastre Componente de script a la superficie de diseño de la pestaña Flujo de datos . Coloque Script a la derecha de la transformación Lookup Currency Key . 2. En el cuadro de diálogo Seleccionar el tipo de componente de script , haga clic en Transformacióny luego enAceptar. 3. Haga clic en la transformación Lookup Currency Key y luego arrastre la flecha roja hasta la transformación Script que acaba de agregar para conectar los dos componentes.
La flecha roja representa la salida de errores de la transformación Lookup Currency Key . Utilizando la flecha roja para conectar la transformación con el componente de script, puede redirigir cualquier error de procesamiento a dicho componente, que, a continuación, lo procesará y enviará al destino. 4. En el cuadro de diálogo Configurar la salida de errores , en la columna Error , seleccione Redirigir filay, a continuación, haga clic en Aceptar. 5. En la superficie de diseño Flujo de datos , haga clic en Componente de script en el Componente de scriptrecién agregado y cambie el nombre por Get Error Description. 6. Haga doble clic en la transformación Get Error Description . 7. En el cuadro de diálogo Editor de transformación Script , en la página Columnas de entrada , seleccione la columna ErrorCode . 8. En la página Entradas y salidas , expanda Salida 0, haga clic en Columnas de saliday, a continuación, en Agregar columna. 9. En la propiedad Nombre , escriba ErrorDescription y establezca la propiedad DataType en Cadena Unicode [DT_WSTR]. 10. En la página Script , compruebe que la propiedad LocaleID esté establecida en Inglés (Estados Unidos). 11. Haga clic en Editar script para abrir Microsoft Visual Studio Tools for Applications (VSTA). En el método Input0_ProcessInputRow , escriba o pegue el código siguiente. [Visual Basic] VBCopiar Row.ErrorDescription = Me.ComponentMetaData.GetErrorDescription(Row.ErrorCode)
[Visual C#] C#Copiar Row.ErrorDescription = this.ComponentMetaData.GetErrorDescription(Row.ErrorCode);
La subrutina completada será como el código siguiente. [Visual Basic] VBCopiar Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer) Row.ErrorDescription = Me.ComponentMetaData.GetErrorDescription(Row.ErrorCode) End Sub
[Visual C#] C#Copiar
public override void Input0_ProcessInputRow(Input0Buffer Row) { Row.ErrorDescription = this.ComponentMetaData.GetErrorDescription(Row.ErrorCode); }
12. En el menú Compilar , haga clic en Compilar solución para compilar el script y guardar los cambios y, a continuación, cierre VSTA. 13. Haga clic en Aceptar para cerrar el cuadro de diálogo Editor de transformación Script .
Lección 4.4: Agregar un destino de archivo sin formato La salida de errores de la transformación Lookup Currency Key redirige a la transformación Script cualquier fila de datos que haya generado un error durante la operación de búsqueda. Para mejorar la información acerca de los errores producidos, la transformación Script ejecuta un script que obtiene una descripción de los errores. En esta tarea guardará toda esta información acerca de las filas con errores en un archivo delimitado para su procesamiento posterior. Para guardar las filas con errores, es preciso agregar y configurar un administrador de conexiones de archivos planos para el archivo de texto que contendrá los datos de error y un destino de archivo plano. Al establecer propiedades en el administrador de conexiones de archivos planos que usa el destino de archivo plano, puede especificar la manera en que el destino de archivo plano establece el formato y escribe el archivo de texto. Para obtener más información, vea Flat File Connection Manager y Flat File Destination. Para agregar y configurar un destino de archivo plano 1. Haga clic en la pestaña Flujo de datos . 2. En el Cuadro de herramientas de SSIS, expanda Otrosy arrastre Destino de archivo plano a la superficie de diseño del flujo de datos. Coloque el Destino de archivo plano directamente debajo de la transformación Get Error Description . 3. Haga clic en la transformación Get Error Description y arrastre la flecha verde hasta el nuevo Destino de archivo plano. 4. En la superficie de diseño Flujo de datos , haga clic en Destino de archivo plano en la transformación Destino de archivo plano recién agregada y cambie el nombre a Failed Rows. 5. Haga clic con el botón derecho en la transformación Failed Rows , haga clic en Editary, después, en el Editor de destino de archivos planos, haga clic en Nuevo. 6. En el cuadro de diálogo Formato de archivo plano , compruebe que esté seleccionado Delimitado y haga clic en Aceptar. 7. En el cuadro Nombre del administrador de conexionesdel Editor del administrador de conexiones de archivos planos , escriba Error Data. 8. En el cuadro de diálogo Editor del administrador de conexiones de archivos planos , haga clic en Examinary busque la carpeta en la que se almacenará el archivo. 9. En el cuadro de diálogo Abrir , en Nombre de archivo, escriba ErrorOutput.txt y haga clic en Abrir.
10. En el cuadro de diálogo Editor del administrador de conexiones de archivos planos , compruebe que el cuadro Configuración regional contiene Inglés (Estados Unidos) y la Página de códigos contiene 1252 (ANSI -Latin I). 11. En el panel de opciones, haga clic en Columnas. Observe que, además de las columnas del archivo de datos de origen, existen tres columnas nuevas: ErrorCode, ErrorColumn y ErrorDescription. Estas columnas las generan la salida de errores de la transformación Lookup Currency Key y el script de la transformación Get Error Description y pueden utilizarse para solucionar el problema de la fila que genera el error. 12. Haga clic en Aceptar. 13. En el Editor de destino de archivos planos, desactive la casilla Sobrescribir los datos del archivo . Al desactivar esta casilla, se conservan los errores sobre múltiples ejecuciones del paquete. 14. En el Editor de destino de archivos planos, haga clic Asignaciones para comprobar que todas las columnas son correctas. Si lo desea, puede cambiar el nombre de las columnas en el destino. 15. Haga clic en Aceptar.
Lección 4.5:probar el paquete del Tutorial lección 4 En tiempo de ejecución, el archivo dañado, Currency_BAD.txt, no podrá generar una coincidencia en la transformación Lookup Currency Key. Puesto que la salida de errores de Lookup Currency Key se ha configurado para redirigir las filas con errores al nuevo destino de filas con errores, el componente no genera ningún error y el paquete se ejecuta correctamente. Todas las filas que generan un error se escriben en el archivo ErrorOutput.txt. En esta tarea, probará la configuración de la salida de error revisada ejecutando el paquete. Tras ejecutar correctamente el paquete, verá el contenido del archivo ErrorOutput.txt. Nota Si no desea acumular filas con errores en el archivo ErrorOutput.txt, debe eliminar manualmente el contenido del archivo entre ejecuciones de paquetes.
Comprobar el diseño del paquete Antes de probar el paquete, debe comprobar que los flujos de datos y de control del paquete de la lección 4 contienen los objetos mostrados en los diagramas siguientes. El flujo de control debe ser idéntico al flujo de datos de las lecciones 2 a 4. Flujo de control
Flujo de datos
Para ejecutar el paquete de tutorial de la lección 4 1. En el menú Depurar , haga clic en Iniciar depuración. 2. Una vez que se haya completado la ejecución del paquete, en el menú Depurar , haga clic en Detener depuración. Para comprobar el contenido del archivo ErrorOutput.txt En el Bloc de notas o en cualquier otro editor de texto, abra el archivo ErrorOutput.txt. El orden predeterminado de las columnas es: AverageRate, CurrencyID, CurrencyDate, EndOfDateRate, ErrorCode, ErrorColumn, ErrorDescription. Observe que todas las filas del archivo contienen el valor BAD de CurrencyID sin coincidencia, el valor -1071607778 de ErrorCode, el valor 0 de ErrorColumn y el valor "La fila no produjo ninguna coincidencia durante la búsqueda" de ErrorDescription. El valor de ErrorColumn se establece en 0 porque el error no es específico de columna. Es la operación de búsqueda la que ha generado el error. .
Lección 5: Agregar configuraciones de paquete para el modelo de implementación de paquetes Las configuraciones de paquetes permiten definir propiedades y variables de tiempo de ejecución desde el exterior del entorno de desarrollo. Las configuraciones permiten desarrollar paquetes que son flexibles y fáciles de implementar y distribuir. Microsoft Integration Services ofrece los siguientes tipos de configuración: Archivo de configuración XML Variable de entorno Entrada del Registro Variable de paquete primario SQL Server table En esta lección, modificará el paquete simple de Integration Services que ha creado en Lección 4: Agregar redirección de flujo de errores con SSIS para usar el modelo de implementación de paquetes y aprovechar las configuraciones de paquetes. También puede copiar el paquete de la lección 4 completada que se incluye con el tutorial. Mediante el Asistente para la configuración de paquetes, creará un archivo de configuración XML que actualiza la propiedad Directory del contenedor de bucles Foreach usando una variable de nivel de paquete asignada a la propiedad Directory.Una vez que haya creado el archivo de configuración, modificará el valor de la variable desde el exterior del entorno de desarrollo y hará que la propiedad haga referencia a una nueva carpeta de datos de ejemplo. Cuando ejecute el paquete de nuevo, el archivo de configuración rellenará el valor de la variable y la variable actualizará a su vez la propiedadDirectory. Como consecuencia de ello, el paquete se iterará en los archivos de la nueva carpeta de datos, en lugar de iterarse en los archivos de la carpeta original del paquete codificada de forma rígida. Importante Para este tutorial, se necesita la base de datos de ejemplo AdventureWorksDW2012 . Para obtener más información sobre cómo instalar e implementar AdventureWorksDW2012, consulte Ejemplos de productos de Reporting Services en CodePlex.
Lección 5.1: copiar el paquete de la lección 4 En esta tarea, creará una copia del paquete que ha creado en la lección 4, denominado Lesson 4.dtsx. También puede agregar al proyecto el paquete completado de la lección 4 que se incluye con el tutorial y, después, copiar ese paquete.Usará esta nueva copia en toda la lección 5. Para copiar el paquete de la lección 4 1. Si SQL Server Data Tools no está abierto, haga clic en Inicio, seleccione Todos los programas, Microsoft SQL Server 2012y, después, haga clic en SQL Server Data Tools. 2. En el menú Archivo , haga clic en Abrir, haga clic en Proyecto o solución, seleccione SSIS Tutorial , haga clic en Abriry, después, haga doble clic en SSIS Tutorial.sln. 3. En el Explorador de soluciones, haga clic con el botón derecho en Lesson 4.dtsxy luego haga clic en Copiar. 4. En el Explorador de soluciones, haga clic con el botón derecho en Paquetes SSISy, después, haga clic en Pegar. De manera predeterminada, el paquete copiado se denomina Lesson 5.dtsx. 5. En el Explorador de soluciones, haga doble clic en Lesson 5.dtsx para abrir el paquete. 6. Haga clic con el botón derecho en cualquier parte del fondo de la pestaña Flujo de control y luego haga clic en Propiedades. 7. En la ventana Propiedades, actualice la propiedad Nombre a Lesson 5. 8. Haga clic en el cuadro de la propiedad Id. , haga clic en la flecha desplegable y luego haga clic en . Para agregar el paquete de la lección 4 completada 1. Abra SQL Server Data Tools y el proyecto SSIS Tutorial. 2. En el Explorador de soluciones, haga clic con el botón derecho en Paquetes SSISy haga clic en Agregar paquete existente. 3. En el cuadro de diálogo Agregar copia de paquete existente , en Ubicación del paquete, seleccione Sistema de archivos. 4. Haga clic en el botón Examinar (…) , vaya a Lesson 4.dtsx en el equipo y, después, haga clic en Abrir. Para descargar todos los paquetes de lecciones de este tutorial, haga lo siguiente. a. Navegue a los ejemplos del producto Integration Services b. Haga clic en la pestaña DOWNLOADS . c. Haga clic en el archivo SQL2012.Integration_Services.Create_Simple_ETL_Tutorial.Sample.zip.
5. Copie y pegue el paquete de la lección 4 tal como se describe en los pasos 3 a 8 del procedimiento anterior.
Lección 5.2: habilitar y configurar las configuraciones de paquetes En esta tarea, convertirá el proyecto al modelo de implementación de paquetes y habilitará las configuraciones de paquetes mediante el Asistente para configuración de paquetes. Usará este asistente para generar un archivo de configuración XML que contiene parámetros de configuración para la propiedad Directory del contenedor de bucles Foreach. El valor de la propiedad Directory se proporciona a través de una variable nueva de nivel de paquete que puede actualizarse durante la ejecución. Además, rellenará una carpeta nueva de datos de ejemplo que utilizará durante las pruebas. Para crear una variable nueva de nivel de paquete asignada a la propiedad Directory 1. Haga clic en el fondo de la pestaña Flujo de control del Diseñador SSIS . De este modo se establece en el paquete el ámbito de la variable que se va a crear. 2. En el menú SSIS , seleccione Variables. 3. En la ventana Variables , haga clic en el icono Agregar variable. 4. En el cuadro Nombre , escriba varFolderName. Importante Los nombres de variables distinguen entre mayúsculas y minúsculas. 5. Compruebe que en el cuadro Ámbito se muestra el nombre del paquete (Lección 5). 6. Establezca el valor del cuadro Tipo de datos de la variable varFolderName en String. 7. Vuelva a la pestaña Flujo de control y haga doble clic en el contenedor Foreach File in Folder . 8. En la página Colección del Editor de bucles Foreach, haga clic en Expresionesy, después, haga clic en el botón de puntos suspensivos (…). 9. En el Editor de expresiones de propiedad, haga clic en la lista Propiedad y seleccione Directorio. 10. En el cuadro Expresión , haga clic en el botón de puntos suspensivos(…). 11. En el Generador de expresiones, expanda la carpeta Variables y arrastre la variable User:varFolderName al cuadro Expresión . 12. Haga clic en Aceptar para salir del Generador de expresiones. 13. Haga clic en Aceptar para salir del Editor de expresiones de propiedad. 14. Haga clic en Aceptar para salir del Editor de bucles Foreach. Para habilitar las configuraciones de paquetes 1. En el menú Proyecto, haga clic en Convertir al modelo de implementación de paquetes.
2. Haga clic en Aceptar en el mensaje de advertencia y, una vez completada la conversión, haga clic en Aceptar en el cuadro de diálogo Convertir al modelo de implementación de paquetes . 3. Haga clic en el fondo de la pestaña Flujo de control del Diseñador SSIS . 4. En el menú SSIS , haga clic en Configuraciones de paquetes. 5. En el cuadro de diálogo Organizador de configuraciones de paquetes , seleccione Habilitar configuraciones de paquetesy, después, haga clic en Agregar. 6. En la página de bienvenida del Asistente para la configuración de paquetes, haga clic en Siguiente. 7. En la página Seleccionar tipo de configuración , compruebe que el Tipo de configuración está establecido en Archivo de configuración XML. 8. En la página Seleccionar tipo de configuración , haga clic en Examinar. 9. De forma predeterminada, el cuadro de diálogo Seleccionar ubicación del archivo de configuración se abrirá en la carpeta del proyecto. 10. En el cuadro de diálogo Seleccionar ubicación del archivo de configuración , escriba SSISTutorial en Nombre de archivoy haga clic en Guardar. 11. En la página Seleccionar tipo de configuración , haga clic en Siguiente. 12. En la página Seleccionar propiedades para la exportación , en el panel Objetos , expanda Variables, luego varFolderNamey Propiedadesy, después, seleccione Valor. 13. En la página Seleccionar propiedades para la exportación , haga clic en Siguiente. 14. En la página Finalización del asistente , escriba un nombre para la configuración, por ejemplo, Configuración del directorio del Tutorial de SSIS. Este es el nombre de configuración que se muestra en el cuadro de diálogo Organizador de configuraciones de paquetes . 15. Haga clic en Finalizar. 16. Haga clic en Cerrar. 17. El asistente crea un archivo de configuración, denominado SSISTutorial.dtsConfig, que contiene parámetros de configuración para elvalor de la variable que, a su vez, establece la propiedad Directory del enumerador. Nota Generalmente, un archivo de configuración contiene información compleja sobre las propiedades de un paquete, pero en este tutorial la única información de configuración debería ser <\/ConfiguredValue> <\/Configuration>.
Para crear y rellenar una carpeta nueva de datos de ejemplo 1. En el Explorador de Windows, en el nivel raíz de la unidad (por ejemplo, C:\), cree una carpeta nueva denominada Nuevos datos de ejemplo. 2. Busque los archivos de ejemplo en su equipo y copie tres de los archivos de la carpeta. 3. En la carpeta Nuevos datos de ejemplo , pegue los archivos copiados.
Lección 5: 3: modificar el valor de configuración de la propiedad de directorio En esta tarea, modificará el parámetro de configuración, almacenado en el archivo SSISTutorial.dtsConfig, para la propiedad Value de la variable de nivel de paquete User::varFolderName . Esta variable actualiza la propiedad Directory del contenedor de bucles Foreach. El valor modificado hará referencia a la carpeta New Sample Data que ha creado en la tarea anterior. Una vez que haya modificado el parámetro de configuración y que haya ejecutado el paquete, la variable actualizará la propiedad Directory, mediante el valor rellenado desde el archivo de configuración, en lugar del valor del directorio configurado originalmente en el paquete. Para modificar el parámetro de configuración de la propiedad Directory 1. En el Bloc de notas o en cualquier editor de texto, busque y abra el archivo de configuración SSISTutorial.dtsConfig que ha creado utilizando el Asistente para la configuración de paquetes en la tarea anterior. 2. Cambie el valor del elemento ConfiguredValue para que coincida con la ruta de acceso de la carpeta New Sample Data que ha creado en la tarea anterior. No especifique la ruta de acceso entre comillas. Si la carpetaNew Sample Data está en el nivel de raíz de su unidad (por ejemplo, C:\), el XML actualizado debería ser similar al siguiente ejemplo:
La información de encabezado, GeneratedBy, GeneratedFromPackageIDy GeneratedDate será diferente en su archivo, por supuesto. El elemento que debe observar es Configuration . La propiedad Value de la variable User::varFolderName ahora contiene C:\New Sample Data. 3. Guarde el cambio y cierre el editor de texto.
Lección 5.4: Probar el paquete del Tutorial lección 5 Durante la ejecución, el paquete obtendrá el valor de la propiedad Directory de una variable actualizada en tiempo de ejecución, en lugar de utilizar el nombre de directorio original especificado al crear el paquete. El valor de la variable lo rellena el archivo SSISTutorial.dtsConfig. Para comprobar que, durante la ejecución, el paquete actualiza la propiedad Directory con el nuevo valor, simplemente debe ejecutar el paquete. Puesto que en el directorio solamente se copiaron tres archivos de datos de ejemplo, el flujo de datos solamente se ejecutará tres veces, en lugar de repetirse a través de los 14 archivos de la carpeta original.
Comprobar el diseño del paquete Antes de probar el paquete, debe comprobar que los flujos de datos y de control de la lección 5 contienen los objetos mostrados en los diagramas siguientes. El flujo de control debe ser idéntico al flujo de datos de la lección 4. El flujo de datos debe ser idéntico al flujo de datos de la lección 4. Flujo de control
Flujo de datos
Para probar el paquete de tutorial de la lección 5 1. En el menú Depurar , haga clic en Iniciar depuración. 2. Una vez que haya finalizado la ejecución del paquete, en el menú Depurar , haga clic en Detener depuración.
Lección 6: Uso de parámetros con el modelo de implementación de proyectos en SSIS SQL Server 2012 presenta un nuevo modelo de implementación en el que puede implementar sus proyectos en el servidor de Integration Services. El servidor de Integration Services permite administrar y ejecutar paquetes, así como configurar valores en tiempo de ejecución para los paquetes. En esta lección, modificará el paquete que ha creado en la Lección 5: Agregar configuraciones de paquete para el modelo de implementación de paquetes para usar el modelo de implementación de paquetes. Reemplazará el valor de configuración con un parámetro para especificar la ubicación de los datos de ejemplo. También puede copiar el paquete de la lección 5 completada que se incluye con el tutorial. Con el Asistente para la conversión de proyectos de Integration Services, convertirá el proyecto al modelo de implementación de proyectos y usará un parámetro en lugar de un valor de configuración para establecer la propiedad Directory. Esta lección abarca parcialmente los pasos que se seguiría para convertir paquetes SSIS existentes al nuevo modelo de implementación de proyectos. Cuando ejecute el paquete de nuevo, el servicio Integration Services usará el parámetro para rellenar el valor de la variable y la variable actualizará a su vez la propiedad Directory. Como resultado, el paquete iterará por los archivos de la nueva carpeta de datos especificada por el valor del parámetro, en lugar de iterar por la carpeta que se estableció en el archivo de configuración del paquete. Importante Para este tutorial, se necesita la base de datos de ejemplo AdventureWorksDW2012 . Para obtener más información sobre cómo instalar e implementar AdventureWorksDW2012, consulte Considerations for Installing SQL Server Samples and Sample Databases(Consideraciones para instalar ejemplos y bases de datos de ejemplo de SQL Server).
Lección 6-1: copiar el paquete de la lección 5 En esta tarea, creará una copia del paquete que ha creado en la lección 5, denominado Lesson 5.dtsx. También puede agregar al proyecto el paquete completado de la lección 5 que se incluye con el tutorial y, a continuación, copiar dicho paquete. Utilizará esta nueva copia en toda la lección 6. Para copiar el paquete de la lección 5 1. Si SQL Server Data Tools no está abierto, haga clic en Inicio, seleccione Todos los programas, seleccione Microsoft SQL Server 2012 y, a continuación, haga clic en SQL Server Data Tools. 2. En el menú Archivo, haga clic en Abrir, haga clic en Proyecto o solución, seleccione SSIS Tutorial, haga clic en Abrir y, después, haga doble clic en SSIS Tutorial.sln. 3. En el Explorador de soluciones, haga clic con el botón secundario en Lesson 5.dtsx y, a continuación, haga clic en Copiar. 4. En el Explorador de soluciones, haga clic con el botón secundario en Paquetes SSIS y, a continuación, haga clic en Pegar. De forma predeterminada, el paquete copiado se denomina Lesson 6.dtsx. 5. En el Explorador de soluciones, haga doble clic en Lesson 6.dtsx para abrir el paquete. 6. Haga clic con el botón secundario en cualquier parte del fondo de la pestaña Flujo de control y luego haga clic en Propiedades. 7. En la ventana Propiedades, actualice la propiedad Nombre a Lesson 6. 8. Haga clic en el cuadro de la propiedad Id., haga clic en la flecha desplegable y luego haga clic en . Para agregar el paquete de la lección 5 completada 1. Abra SQL Server Data Tools y el proyecto SSIS Tutorial. 2. En el Explorador de soluciones, haga clic con el botón secundario en Paquetes SSIS y haga clic en Agregar paquete existente. 3. En el cuadro de diálogo Agregar copia de paquete existente, en Ubicación del paquete, seleccione Sistema de archivos. 4. Haga clic en el botón Examinar (…), vaya a Lesson 5.dtsx en el equipo y, después, haga clic en Abrir. Para descargar todos los paquetes de lecciones de este tutorial, haga lo siguiente. a. Navegue a los ejemplos del producto Integration Services b. Haga clic en la pestaña DOWNLOADS . c. Haga clic en el archivo SQL2012.Integration_Services.Create_Simple_ETL_Tutorial.Sample.zip.
5. Copie y pegue el paquete de la lección 5 tal como se describe en los pasos 3 a 8 del procedimiento anterior. Después de copiar el paquete de la lección 5, si tiene actualmente los paquetes de las lecciones anteriores en la solución, haga clic con el botón secundario en cada paquete de las lecciones 1 a 5 y, a continuación, haga clic en Excluir del proyecto. Cuando termine, debe tener solo Lesson 6.dtsx en la solución.
Lección 6-2-convertir el proyecto al modelo de implementación de proyectos En esta tarea, usará al Asistente para conversión de proyectos de Integration Services para convertir el proyecto en el modelo de implementación del proyecto. Convertir el proyecto al modelo de implementación del proyectos 1. En el menú Proyecto, haga clic en Convertir al modelo de implementación de proyectos. 2. En la página de introducción del Asistente para conversión de proyectos de Integration Services, revise los pasos y haga clic en Siguiente. 3. En la página Seleccionar paquetes, en la lista de paquetes, desactive todas las casillas de verificación excepto Lesson 6.dtsx y haga clic en Siguiente. 4. En la página Especificar propiedades del proyecto, haga clic en Siguiente. 5. En la página Actualizar tarea Ejecutar paquete, haga clic en Siguiente. 6. En la página Seleccionar configuración, asegúrese de que el paquete Lesson 6.dtsx está seleccionado en la lista de configuraciones y haga clic en Siguiente. 7. En la página Crear parámetros, asegúrese de que el paquete Lesson 6.dtsx está seleccionado y el ámbito está configurado en Paquete, en la lista de propiedades de configuración, y haga clic en Siguiente. 8. En la página Configurar parámetros, compruebe que los valores de Nombre y Valor son el mismo nombre y el mismo valor especificados en Lesson 5 para la variable y el valor de configuración, y haga clic en Siguiente. 9. En la página Revisar, en el panel de resumen, tenga en cuenta que el asistente ha usado la información del archivo de configuración para establecer las propiedades que se van a convertir. 10. Haga clic en Convertir. Cuando la conversión finaliza, se muestra un mensaje que advierte que los cambios no se guardarán hasta que el proyecto se guarde en Visual Studio. Haga clic en Aceptar del cuadro de diálogo de advertencia. 11. En el Asistente para conversión de proyectos de Integration Services, haga clic en Cerrar. 12. En Herramientas de datos de SQL Server, haga clic en el menú Archivo y haga clic en Guardar para guardar el paquete convertido. 13. Haga clic en la ficha Parámetros y compruebe que el paquete contiene un parámetro para VarFolderName, y que el valor es la misma ruta de acceso especificada para la carpeta Nuevos datos de ejemplo del archivo de configuración Lesson 5.
Lección 6: 3: probar el paquete de la lección 6 En tiempo de ejecución, el paquete obtendrá el valor de la Propiedad de directorio desde el parámetro VarFolderName. Para comprobar que, durante la ejecución, el paquete actualiza la propiedad Directory con el nuevo valor, simplemente debe ejecutar el paquete. Puesto que en el directorio solamente se copiaron tres archivos de datos de ejemplo, el flujo de datos solamente se ejecutará tres veces, en lugar de repetirse a través de los 14 archivos de la carpeta original.
Comprobar el diseño del paquete Antes de probar el paquete, debe comprobar que los flujos de datos y de control de la lección 6 contienen los objetos mostrados en los diagramas siguientes. El flujo de control debe ser idéntico al flujo de datos de la lección 5. El flujo de datos debe ser idéntico al flujo de datos de la lección 5. Flujo de control
Flujo de datos
Para probar el paquete del tutorial de la lección 6 1. En el menú Depurar, haga clic en Iniciar depuración. 2. Una vez que se haya completado la ejecución del paquete, en el menú Depurar, haga clic en Detener depuración.
Lección 6-4: implementar el paquete de la lección 6 Implementar el paquete consiste en agregar el paquete al catálogo SSISDB de Integration Services en una instancia de SQL Server. En esta lección, agregará el paquete de la lección 6 en el catálogo SSISDB, establecerá el parámetro y ejecutará el paquete. Para esta lección, utilizará SQL Server Management Studio para agregar el paquete de la lección 6 al catálogo SSISDB e implementar el paquete. Después de implementar el paquete, modificará el parámetro para que señale una ubicación nueva y después ejecutará el paquete. En esta lección: Agregará el paquete al catálogo SSISDB del nodo SSIS de SQL Server. Implementará el paquete. Establecerá el valor del parámetro de paquete. Ejecutará el paquete en SSMS. Para buscar o agregar el catálogo SSISDB 1. Haga clic en Inicio, señale Todos los programas, señale Microsoft SQL Server 2012 y después haga clic en SQL Management Studio. 2. En el cuadro de diálogo Conectar con el servidor, compruebe la configuración predeterminada y después haga clic en Conectar. Para conectarse, el cuadro Nombre de servidor debe contener el nombre del equipo en el que SQL Server está instalado. Si el motor de base de datos es una instancia con nombre, el cuadro Nombre del servidor también debe contener el nombre de la instancia con el formato \. 3. En el Explorador de objetos, expanda catálogos de Integration Services. 4. Si no aparece ningún catálogo en catálogos de Integration Services, agregue el catálogo SSISDB. 5. Para agregar el catálogo SSISDB, haga clic con el botón derecho en catálogos de Integration Services y haga clic en Crear catálogo. 6. En el cuadro de diálogo Crear catálogo, seleccione Habilitar integración CLR 7. En el cuadro Contraseña, escriba una contraseña nueva y después escríbala de nuevo en el cuadro Vuelva a escribir la contraseña. Asegúrese de recordar la contraseña que escriba. 8. Haga clic en Aceptar para agregar el catálogo SSISDB. Para agregar el paquete en el catálogo SSISDB 1. En el Explorador de objetos, haga clic con el botón derecho en SSISDB y después en Crear carpeta. 2. En el cuadro de diálogo Crear carpeta, escriba Tutorial de SSIS en el cuadro Nombre de carpeta y haga clic en Aceptar.
3. Expanda la carpeta Tutorial de SSIS, haga clic con el botón derecho en Proyectos y después en Importar paquetes. 4. En la página Introducción del Asistente para la conversión de proyectos de Integration Services, haga clic en Siguiente. 5. En la página Buscar paquetes, asegúrese de que Sistema de archivos está seleccionado en la lista de orígenes y haga clic en Examinar. 6. En el cuadro de diálogo Buscar carpeta, vaya a la carpeta que contiene el proyecto de Tutorial de SSIS y haga clic en Aceptar. 7. Haga clic en Siguiente. 8. En la página Seleccionar paquetes debería ver los seis paquetes de Tutorial de SSIS. En la lista Paquetes, seleccione Lesson 6.dtsx y haga clic en Siguiente. 9. En la página Seleccionar destino, escriba Implementación del Tutorial de SSIS en el cuadro Nombre de proyecto y haga clic en Siguiente. 10. Haga clic en Siguiente en todas las páginas restantes del asistente hasta llegar a la página Revisar. 11. En la página Revisar, haga clic en Convertir. 12. Cuando se complete la conversión, haga clic en Cerrar. Al cerrar el Asistente para la conversión de proyectos de Integration Services, SSIS muestra el Asistente para implementación de Integration Services. Ahora utilizará a este asistente para implementar el paquete de la lección 6. 1. En la página Introducción del Asistente para implementación de Integration Services, revise los pasos para implementar el proyecto y haga clic en Siguiente. 2. En la página Seleccionar destino, compruebe que el nombre de servidor es la instancia de SQL Server que contiene el catálogo SSISDB y que la ruta de acceso muestra la Implementación del Tutorial de SSIS; después, haga clic en Siguiente. 3. En la página Revisar, revise el Resumen y después haga clic en implementar. 4. Cuando se complete la implementación, haga clic en Cerrar. 5. En el Explorador de objetos, haga clic con el botón derecho en Catálogos de Integration Services y después en Actualizar. 6. Expanda los Catálogos de Integration Services y después SSISDB. Continúe expandiendo el árbol por debajo de Tutorial de SSIS hasta haber expandido el proyecto por completo. Debería ver Lesson 6.dtsx debajo del nodo Paquetes del nodo Implementación del Tutorial de SSIS. Para comprobar que el paquete está completo, haga clic en Lesson 6.dtsx y después en Configurar. En el cuadro de diálogo Configurar, seleccione Parámetros y compruebe que existe una entrada con Lesson 6.dtsx como Contenedor, VarFolderName como Nombre y la ruta de acceso a Nuevos datos de ejemplo como valor y después haga clic en Cerrar.
Antes de continuar, cree una nueva carpeta de datos de ejemplo, asígnele el nombre Datos de ejemplo dos y copie cualquiera de los tres archivos de ejemplo originales en ella. Para crear y rellenar una carpeta nueva de datos de ejemplo 1. En el Explorador de Windows, en el nivel de raíz de la unidad (por ejemplo, C:\), cree una carpeta nueva denominada Datos de ejemplo dos. 2. Abra la carpeta c:\Archivos de programa\Microsoft SQL Server\110\Ejemplos\Servicios de integración\Tutorial\Creating a Simple ETL Package\Datos de muestra y, después, copie cualquiera de los tres archivos de ejemplo de la carpeta. 3. En la carpeta Nuevos datos de ejemplo, pegue los archivos copiados. Para cambiar el parámetro de paquete para que señale a los nuevos datos de ejemplo 1. En el Explorador de objetos, haga clic con el botón derecho en Lesson 6.dtsx y después en Configurar. 2. En el cuadro de diálogo Configurar, cambie el valor de parámetro a la ruta de acceso a Datos de ejemplo dos.Por ejemplo, C:\Datos de ejemplo dos si ha colocado la nueva carpeta en la carpeta raíz de la unidad C. 3. Haga clic en Aceptar para cerrar el cuadro de diálogo Configurar. Para probar la implementación del paquete de la lección 6 1. En el Explorador de objetos, haga clic con el botón derecho en Lesson 6.dtsx y después en Ejecutar. 2. En el cuadro de diálogo Ejecutar paquete, haga clic en Aceptar. 3. En el cuadro de diálogo del mensaje, haga clic en Sí para abrir el informe de información general. Se visualiza el informe información general del paquete, que muestra el nombre del paquete y un resumen de estado. La sección Información general de ejecución muestra el resultado de cada tarea del paquete y la sección Parámetros usados muestra los nombres y valores de todos los parámetros utilizados en la ejecución del paquete, incluido VarFolderName.
Implementar paquetes con SSIS Microsoft SQL Server Integration Services proporciona herramientas que permiten implementar paquetes en otro equipo.Las herramientas de implementación también administran las dependencias, como configuraciones y archivos que necesita el paquete. En este tutorial, aprenderá a usar estas herramientas para instalar paquetes y sus dependencias en un equipo de destino. Primero, realizará tareas para preparar la implementación. Creará un nuevo proyecto de Integration Services en SQL Server Data Tools (SSDT) y agregará paquetes y archivos de datos existentes al proyecto. No creará nuevos paquetes desde el principio; solamente trabajará con paquetes completados creados exclusivamente para este tutorial. En este tutorial no modificará la funcionalidad de los paquetes; no obstante, después de agregar los paquetes al proyecto, puede resultar útil abrirlos en el Diseñador de SSIS y revisar el contenido de cada paquete. Mediante el examen de los paquetes, conocerá las dependencias de los paquetes como los archivos de registro y otras características interesantes de los mismos. Antes de llevar a cabo la implementación, también actualizará los paquetes para utilizar configuraciones. Las configuraciones permiten la actualización de las propiedades de los paquetes y los objetos de paquete en tiempo de ejecución. En este tutorial utilizará configuraciones para actualizar las cadenas de conexión de archivos de registro y de texto, y las ubicaciones de los archivos XML y XSD que usa el paquete. Para obtener más información, consulte Configuraciones de paquetes y Crear configuraciones de paquetes. Después de comprobar que los paquetes funcionan correctamente en SQL Server Data Tools (SSDT), creará el paquete de implementación que se usará para instalar los paquetes. El paquete de implementación contendrá los archivos de paquete y otros elementos que ha agregado al proyecto de Integration Services , las dependencias del paquete que Integration Services incluye automáticamente y la utilidad de implementación que ha generado. Para más información, consulte Create a Deployment Utility. A continuación, copiará el paquete de implementación en el equipo de destino y ejecutará el Asistente para la instalación de paquetes para instalar los paquetes y las dependencias de paquete. Los paquetes se instalarán en la base de datos msdb de SQL Server, y los archivos auxiliares y de ayuda se instalarán en el sistema de archivos. Puesto que los paquetes implementados utilizan configuraciones, actualizará la configuración para que use nuevos valores que permitirán que los paquetes se ejecuten correctamente en el nuevo entorno. Por último, ejecutará los paquetes en SQL Server Management Studio con la Utilidad de ejecución de paquetes.
El objetivo de este tutorial es simular la complejidad de los problemas reales de implementación que puede encontrarse.No obstante, si no puede implementar los paquetes en otro equipo, puede seguir este tutorial instalando los paquetes en la base de datos msdb en una instancia local de SQL Servery, a continuación, ejecutar los paquetes desde SQL Server Management Studio en la misma instancia.
Aprendizaje La mejor forma de familiarizarse con las nuevas herramientas, los controles y las características disponibles en MicrosoftSQL Server Integration Services es usándolas. Este tutorial le guía por los pasos para crear un proyecto de Integration Services y, a continuación, agregar los paquetes y otros archivos necesarios al proyecto. Después de completar el proyecto, creará un paquete de implementación, copiará el paquete al equipo de destino e instalará los paquetes en él.
Requisitos Este tutorial está concebido para los usuarios familiarizados con las operaciones básicas del sistema de archivos, pero que no conocen con detalle las nuevas características disponibles en SQL Server Integration Services. Para comprender mejor los conceptos básicos de Integration Services que usará en este tutorial, puede resultarle útil completar primero el siguiente tutorial de Integration Services : Tutorial de SSIS: Crear un paquete ETL sencillo. Equipo de origen. El equipo en el que creará el paquete de implementación debe tener instalados los siguientes componentes:
SQL Server
Datos de ejemplo, paquetes completados, configuraciones y un archivo Léame. Estos archivos se instalan conjuntamente si descarga Adventure Works 2014 Sample Databases(Bases de datos de ejemplo de Adventure Works 2014). Nota asegúrese de que tiene permiso para crear y quitar tablas en AdventureWorks u otros datos que use. SQL Server Data Tools (SSDT).
Equipo de destino. El equipo en el que implementará los paquetes debe tener instalados los siguientes componentes:
SQL Server
Datos de ejemplo, paquetes completados, configuraciones y un archivo Léame. Estos archivos se instalan conjuntamente si descarga Adventure Works 2014 Sample Databases(Bases de datos de ejemplo de Adventure Works 2014). SQL Server Management Studio. SQL Server Integration Services.
Debe tener permiso para crear y quitar tablas en AdventureWorks para y ejecutar paquetes en SQL Server Management Studio. Debe tener permiso de lectura y de escritura para la tabla sysssispackages en la base de datos del sistema msdb de SQL Server . Si planea implementar paquetes en el mismo equipo en el que va a crear el paquete de implementación, ese equipo debe cumplir los requisitos de los equipos de origen y destino.
Tiempo estimado para completar este tutorial: 2 horas
Lección 1: Preparar la creación del paquete de implementación En esta lección, creará las carpetas de trabajo y la variables de entorno que admiten el tutorial, creará un proyecto deIntegration Services , agregará varios paquetes y sus archivos auxiliares al proyecto e implementará las configuraciones en los paquetes. Integration Services implementa paquetes según un proyecto; por tanto, en el primer paso de la creación del paquete de implementación, debe recopilar todos los paquetes y sus dependencias en un proyecto de Integration Services. En muchas ocasiones, esto es útil para incluir otra información con los paquetes implementados: por ejemplo, también agregará un archivo Léame al proyecto que proporcione la documentación básica de este grupo de paquetes. Después de agregar los paquetes y archivos, agregará configuraciones a los paquetes que todavía no usan configuraciones. Las configuraciones actualizan las propiedades de los paquetes y los objetos de paquete en tiempo de ejecución. En una lección posterior, modificará los valores de estas configuraciones durante la implementación de paquetes para que admitan los paquetes en el entorno implementado. Después de agregar estas configuraciones, debe abrir los paquetes en el Diseñador de SSIS , la herramienta gráfica deIntegration Services para generar paquetes ETL, y examinar las propiedades de los paquetes y sus elementos, así como las configuraciones de paquetes para entender mejor los problemas que la implementación de paquetes debe controlar. Por ejemplo, uno de los paquetes extrae datos de archivos de texto, por lo que la ubicación de los archivos de datos debe actualizarse antes de que se ejecuten correctamente los paquetes implementados. Tiempo estimado para completar esta lección: 1 hora
Lección 1.1: crear carpetas de trabajo y Variables de entorno En esta tarea, creará la carpeta de trabajo (C:\DeploymentTutorial) y las nuevas variables de entorno del sistema ( DataTransfer y LoadXMLData ) que usará en posteriores tareas del tutorial. La carpeta de trabajo está en la raíz de la unidad C. Si debe usar otra unidad o ubicación, puede hacerlo. No obstante, deberá anotar esta ubicación y usarla siempre que el tutorial haga referencia a la ubicación de la carpeta de trabajo DeploymentTutorial. En una lección posterior implementará paquetes que están guardados en el sistema de archivos en la tabla sysssispackages de la base de datos msdb de SQL Server . Lo ideal es que implemente los paquetes de Integration Services en otro equipo. Si no es posible, puede aprender a hacerlo en este tutorial si implementa los paquetes en una instancia de SQL Server que se encuentre en el equipo local. Las variables de entorno que se utilizan en el equipo local y de destino tienen los mismos nombres de variable, pero diferentes valores almacenados. Por ejemplo, en el equipo local, el valor de la variable de entorno DataTransfer hace referencia a la carpeta C:\DeploymentTutorial, mientras que en el equipo de destino la variable de entorno DataTransfer hace referencia a la carpeta C:\DeploymentTutorialInstall. Si planea realizar una implementación en el equipo local, solamente necesita crear un conjunto de variables de entorno; no obstante, deberá actualizar el valor de las variables de entorno en un valor apropiado antes de realizar la implementación local. Si planea implementar los paquetes en otro equipo, debe crear dos conjuntos de variables de entorno: un conjunto para el equipo local y otro para el equipo de destino. Ahora solamente puede crear las variables para el equipo de origen y, más tarde, crear las variables para el equipo de destino, pero debe tener la carpeta y las variables de entorno disponibles en el equipo de destino antes de poder instalar los paquetes en ese equipo. Para crear la carpeta de trabajo local 1. Haga clic con el botón secundario en el menú Inicio y haga clic en Explorar. 2. Haga clic en Disco local (C:). 3. En el menú Archivo , seleccione Nuevoy haga clic en Carpeta. 4. Cambie el nombre de la nueva carpeta a DeploymentTutorial.
Para crear variables del entorno local 1. En el menú Inicio , haga clic en Panel de control. 2. En el Panel de control, haga doble clic en Sistema. 3. En el cuadro de diálogo Propiedades del sistema , haga clic en la pestaña Opciones avanzadas y, a continuación, haga clic en Variables de entorno. 4. En el cuadro de diálogo Variables de entorno , en el marco Variables del sistema , haga clic en Nueva. 5. En el cuadro de diálogo Nueva variable del sistema , escriba DataTransfer en el cuadro Nombre de variable y C:\DeploymentTutorial\datatransferconfig.dtsconfig en el cuadro Valor de variable . 6. Haga clic en Aceptar. 7. Haga clic en Nueva otra vez y escriba LoadXMLData en el cuadro Nombre de variable y C:\DeploymentTutorial\loadxmldataconfig.dtsconfig en el cuadro Valor de variable . 8. Haga clic en Aceptar para salir del cuadro de diálogo Variables de entorno . 9. Haga clic en Aceptar para salir del cuadro de diálogo Propiedades del sistema .\ 10. Opcionalmente, reinicie el equipo. Si no reinicia el equipo, el nombre de la nueva variable no se mostrará en el Asistente para la configuración de paquetes, pero podrá usarla. Para crear variables del entorno de destino 1. En el menú Inicio , haga clic en Panel de control. 2. En el Panel de control, haga doble clic en Sistema. 3. En el cuadro de diálogo Propiedades del sistema , haga clic en la pestaña Opciones avanzadas y, a continuación, haga clic en Variables de entorno. 4. En el cuadro de diálogo Variables de entorno , en el marco Variables del sistema , haga clic en Nueva. 5. En el cuadro de diálogo Nueva variable del sistema , escriba DataTransfer en el cuadro Nombre de variable y C:\DeploymentTutorialInstall\datatransferconfig.dtsconfig en el cuadro Valor de variable . 6. Haga clic en Aceptar. 7. Haga clic en Nueva otra vez y escriba LoadXMLData en el cuadro Nombre de variable yC:\DeploymentTutorialInstall\loadxmldataconfig.dtsconfig e n el cuadro Valor de variable . 8. Haga clic en Aceptar para salir del cuadro de diálogo Variables de entorno .
9. Haga clic en Aceptar para salir del cuadro de diálogo Propiedades del sistema .\ 10. Opcionalmente, reinicie el equipo.
Lección 1.2: crear el proyecto de implementación En Integration Services, la unidad que se puede implementar es un proyecto de Integration Services . Antes de que pueda implementar paquetes, debe crear un nuevo proyecto de Integration Services y agregar todos los paquetes y archivos auxiliares que desee implementar con los paquetes en ese proyecto. Para crear el proyecto de Integration Services 1. Haga clic en Inicio, seleccione Todos los programas, Microsoft SQL Servery, después, haga clic en SQL Server Data Tools. 2. En el menú Archivo , seleccione Nuevoy haga clic en Proyecto para crear un proyecto nuevo de Integration Services . 3. En el cuadro de diálogo Nuevo proyecto , seleccione Proyecto de Integration Services en el panel Plantillas . 4. En el cuadro Nombre , cambie el nombre predeterminado por Deployment Tutorial. Opcionalmente, desactive la casilla Crear directorio para la solución . 5. Acepte la ubicación predeterminada o haga clic en Examinar para buscar la carpeta que quiere usar. 6. En el cuadro de diálogo Ubicación del proyecto , haga clic en la carpeta y, después, en Abrir. 7. Haga clic en Aceptar. 8. De forma predeterminada, se crea un paquete vacío, denominado Package.dtsx, que se agrega al nuevo proyecto. Sin embargo, no utilizará este paquete; en su lugar, agregará paquetes existentes al proyecto. Puesto que todos los paquetes de un proyecto se incluirán en la implementación, deber eliminar Package.dtsx. Para eliminarlo, haga clic con el botón derecho en el paquete y, después, haga clic en Eliminar.
Lección 1.3: agregar paquetes y otros archivos En esta tarea, agregará paquetes existentes, archivos auxiliares que admitan paquetes individuales y un archivo Léame al proyecto Deployment Tutorial que ha creado en la tarea anterior. Por ejemplo, agregará un archivo de datos XML que contiene los datos de un paquete y un archivo de texto que proporciona información del archivo Léame sobre todos los paquetes del proyecto. Cuando se implementan paquetes a un entorno de prueba o producción, normalmente no se incluyen los archivos de datos en la implementación, sino que se utilizan configuraciones para actualizar las rutas de acceso de los orígenes de datos para tener acceso a las versiones de prueba o producción de las bases de datos o los archivos de datos. Para explicar las instrucciones, este tutorial incluye archivos de datos en la implementación de paquetes. Los paquetes y los datos de ejemplo que utilizan los paquetes se instalan junto con los ejemplos de SQL Server . Agregará los siguientes paquetes al proyecto Deployment Tutorial: DataTransfer. Paquete básico que extrae datos de un archivo plano, evalúa valores de columnas para mantener filas en el conjunto de datos condicionalmente y carga datos en una tabla de la base de datos AdventureWorks. LoadXMLData. Paquete de transferencia de datos que extrae datos de un archivo de datos XML, evalúa y agrega valores de columnas y carga datos en una tabla de la base de datos AdventureWorks. Para admitir la implementación de estos paquetes, agregará los siguientes archivos auxiliares al proyecto Deployment Tutorial. Paquete
Archivo
DataTransfer
NewCustomers.txt
LoadXMLData
orders.xml y orders.xsd
También agregará un archivo Léame, archivo de texto que proporciona información sobre el proyecto Deployment Tutorial. Las rutas de acceso que se utilizan en los procedimientos siguientes suponen que los ejemplos de SQL Server se instalaron en la ubicación predeterminada, C:\Archivos de programa\Microsoft SQL Server\120\Samples\Integration Services\. Si instaló los ejemplos en otra ubicación, debe utilizar esa ubicación en los procedimientos.
En la siguiente tarea, agregará configuraciones a los paquetes DataTransfer y LoadXMLData. Todas las configuraciones se almacenan en archivos XML y utilizará una variable de entorno del sistema para especificar la ubicación de los archivos.Después de crear los archivos de configuración, los agregará al proyecto. Para agregar paquetes al proyecto Deployment Tutorial 1. Si SQL Server Data Tools (SSDT) no está abierto, haga clic en Inicio, seleccione Todos los programas, Microsoft SQL Servery luego haga clic en SQL Server Data Tools. 2. En el menú Archivo , haga clic en Abriry, en Proyecto o solución, haga clic en la carpeta Deployment Tutorial , haga clic en Abriry, después, haga doble clic en Deployment Tutorial.sln. 3. En el Explorador de soluciones, haga clic con el botón derecho en Deployment Tutorial, haga clic en Agregary, después, en Paquete existente. 4. En el cuadro de diálogo Agregar copia de paquete existente , en Ubicación del paquete, seleccione Sistema de archivos. 5. Haga clic en el botón Examinar (…) , vaya a C:\Archivos de programa\Microsoft SQL Server\100\Samples\Integration ServicesTutorial\Deploying Packages\Completed Packages, seleccione DataTransfer.dtsxy luego haga clic en Abrir. 6. Haga clic en Aceptar. 7. Repita los pasos 3 a 6 y, en este momento, agregue LoadXMLData.dtsx, que se encuentra en C:\Archivos de programa\Microsoft SQL Server\100\Samples\Integration Services\Tutorial\Deploying Packages\Completed Packages. 8. Para agregar archivos auxiliares al proyecto Deployment Tutorial 1. En el Explorador de soluciones, haga clic con el botón derecho en Deployment Tutorial, haga clic en Agregary, después, en Elemento existente. 2. En el cuadro de diálogo Agregar elemento existente - Deployment Tutorial , vaya a C:\Archivos de programa\Microsoft SQL Server\100\Samples\Integration Services\Tutorial\Deployment Packages\Sample Data, seleccione orders.xml, orders.xsd y NewCustomers.txt y luego haga clic en Agregar. 3. En el cuadro de diálogo Agregar elemento existente - Deployment Tutorial , vaya a C:\Archivos de programa\Microsoft SQL Server\100\Samples\Integration Services\Tutorial\Deployment Packages\, seleccione Readme.txt y haga clic en Agregar. 4. En el menú Archivo, haga clic en Guardar todo.
Lección 1.4: Agregar configuraciones de paquetes En esta tarea, agregará una configuración a cada paquete. Las configuraciones actualizan los valores de las propiedades de los paquetes y los objetos de los paquetes en tiempo de ejecución. Integration Services proporciona diversos tipos de configuración. Puede almacenar configuraciones en variables de entorno, entradas del Registro, variables definidas por el usuario, tablas de SQL Server y archivos XML. Para proporcionar más flexibilidad, Integration Services admite el uso de configuraciones indirectas. Esto significa que se usa una variable de entorno para especificar la ubicación de la configuración, que a su vez especifica los valores reales. Los paquetes del proyecto Deployment Tutorial utilizan una combinación de archivos de configuración XML y configuraciones indirectas.Un archivo de configuración XML puede incluir configuraciones de varias propiedades y, si hace falta, varios paquetes pueden hacer referencia a él. En este tutorial, utilizará un archivo de configuración independiente para cada paquete. Los archivos de configuración suelen contener información confidencial como cadenas de conexión. Por tanto, debe utilizar una lista de control de acceso (ACL) para restringir el acceso a la ubicación o a la carpeta donde se almacenan los archivos, y permitir el acceso solamente a los usuarios o cuentas que pueden ejecutar paquetes. Para más información, vea Acceso a los archivos usados por los paquetes. Los paquetes (DataTransfer y LoadXMLData) que ha agregado al proyecto Deployment Tutorial en la tarea anterior necesitan configuraciones para ejecutarse correctamente una vez que se han implementado en el servidor de destino.Para implementar configuraciones, primero creará las configuraciones indirectas para los archivos de configuración XML y, a continuación, creará los archivos de configuración XML. Creará dos archivos de configuración, DataTransferConfig.dtsConfig y LoadXMLData.dtsConfig. Estos archivos contienen los pares de nombre/valor que actualizan las propiedades en los paquetes que especifican la ubicación de los datos y los archivos de registro utilizados por el paquete. Más tarde, como un paso del proceso de implementación, actualizará los valores de los archivos de configuración para reflejar la nueva ubicación de los archivos en el equipo de destino.
Integration Services reconoce que los archivos DataTransferConfig.dtsConfig y LoadXMLData.dtsConfig son dependencias de los paquetes DataTransfer y LoadXMLData y automáticamente incluye los archivos de configuración al crear el paquete de implementación en la siguiente lección. Para crear una configuración indirecta para el paquete DataTransfer 1. En el Explorador de soluciones, haga doble clic en DataTransfer.dtsx. 2. En el Diseñador de SSIS , haga clic en cualquier parte del fondo de la superficie de diseño del flujo de control. 3. En el menú SSIS , haga clic en Configuraciones de paquetes. 4. En el cuadro de diálogo Organizador de configuraciones de paquetes, seleccione Habilitar configuraciones de paquetes si no está seleccionado y haga clic en Agregar. 5. En la página de bienvenida del Asistente para la configuración de paquetes, haga clic en Siguiente. 6. En la página Seleccionar tipo de configuración, seleccione Archivo de configuración XML en la lista Tipo de configuración , seleccione la opción La ubicación de configuración se almacena en una variable de entornoy escriba DataTransfer o seleccione la variable de entorno DataTransfer en la lista. Nota Para hacer que la variable de entorno esté disponible en la lista, puede que tenga que reiniciar el equipo después de agregar la variable. Si no desea reiniciar el equipo, puede escribir el nombre de la variable de entorno. 7. Haga clic en Siguiente. 8. En la página Finalización del asistente, escriba Configuración de DataTransfer EV en el cuadro Nombre de la configuración , revise el contenido de la configuración en el panel Vista previa y, a continuación, haga clic en Finalizar. 9. Cierre el cuadro de diálogo Organizador de configuraciones de paquetes. Para crear una configuración XML para el paquete DataTransfer 1. En el Explorador de soluciones, haga doble clic en DataTransfer.dtsx. 2. En el Diseñador de SSIS , haga clic en cualquier parte del fondo de la superficie de diseño del flujo de control. 3. En el menú SSIS , haga clic en Configuraciones de paquetes. 4. En el cuadro de diálogo Package Configuration Organizer (Organizador de configuraciones de paquetes), active la casilla Habilitar configuraciones de paquetes y haga clic en Agregar. 5. En la página de bienvenida del Asistente para la configuración de paquetes, haga clic en Siguiente.
6. En la página Seleccionar tipo de configuración, seleccione Archivo de configuración XML en la lista Tipo de configuración y, a continuación, haga clic en Examinar. 7. En el cuadro de diálogo Seleccionar ubicación del archivo de configuración , vaya a C:\DeploymentTutorial, escriba DataTransferConfig en el cuadro Nombre de archivo y, después, haga clic en Guardar. 8. En la página Seleccionar tipo de configuración, haga clic en Siguiente. 9. En la página Seleccionar propiedades para la exportación, expanda DataTransfer, Administradores de conexión, Registro del tutorial de implementación y Propiedades y, luego, active la casilla Cadena de conexión . 10. Dentro de Administradores de conexión, expanda NewCustomers y, después, active la casilla Cadena de conexión . 11. Haga clic en Siguiente. 12. En la página Finalización del asistente, escriba Configuración de DataTransfer en el cuadro Nombre de la configuración , revise el contenido de la configuración y, a continuación, haga clic en Finalizar. 13. En el cuadro de diálogo Organizador de configuraciones de paquetes , compruebe que Configuración de DataTransfer EV y Configuración de DataTransfer aparecen en primer y segundo lugar respectivamente y, a continuación, haga clic en Cerrar. Para crear una configuración indirecta para el paquete LoadXMLData 1. En el Explorador de soluciones, haga doble clic en LoadXMLData.dtsx. 2. En el Diseñador de SSIS , haga clic en cualquier parte del fondo de la superficie de diseño del flujo de control. 3. En el menú SSIS , haga clic en Configuraciones de paquetes. 4. En el cuadro de diálogo Organizador de configuraciones de paquetes, haga clic en Agregar. 5. En la página de bienvenida del Asistente para la configuración de paquetes, haga clic en Siguiente. 6. En la página Seleccionar tipo de configuración, seleccione Archivo de configuración XML en la lista Tipo de configuración , seleccione la opción La ubicación de configuración se almacena en una variable de entornoy escriba LoadXMLData o seleccione la variable de entorno LoadXMLData en la lista. Nota Para hacer que la variable de entorno esté disponible en la lista, puede que tenga que reiniciar el equipo después de agregar la variable. 7. Haga clic en Siguiente. 8. En la página Finalización del asistente, escriba Configuración de LoadXMLData EV en el cuadro Nombre de la configuración , revise el contenido de la configuración y, a continuación, haga clic en Finalizar.
Para crear una configuración XML para el paquete LoadXMLData 1. En el Explorador de soluciones, haga doble clic en LoadXMLData.dtsx. 2. En el Diseñador de SSIS , haga clic en cualquier parte del fondo de la superficie de diseño del flujo de control. 3. En el menú SSIS , haga clic en Configuraciones de paquetes. 4. En el cuadro de diálogo Package Configuration Organizer (Organizador de configuraciones de paquetes), active la casilla Habilitar configuraciones de paquetes y, luego, haga clic en Agregar. 5. En la página de bienvenida del Asistente para la configuración de paquetes, haga clic en Siguiente. 6. En la página Seleccionar tipo de configuración, seleccione Archivo de configuración XML en la lista Tipo de configuración y, a continuación, haga clic en Examinar. 7. En el cuadro de diálogo Seleccionar ubicación del archivo de configuración , vaya a C:\DeploymentTutorial, escriba LoadXMLDataConfig en el cuadro Nombre de archivo y, después, haga clic en Guardar. 8. En la página Seleccionar tipo de configuración, haga clic en Siguiente. 9. En la página Seleccionar propiedades para la exportación, expanda LoadXMLData, Ejecutables, Cargar datos XML y Propiedades y, después, active las casillas [XMLSource].[XMLData] y [XMLSource].[XMLSchemaDefinition ]. 10. Haga clic en Siguiente. 11. En la página Finalización del asistente, escriba Configuración de LoadXMLData en el cuadro Nombre de la configuración , revise el contenido de la configuración y, a continuación, haga clic en Finalizar. 12. En el cuadro de diálogo Organizador de configuraciones de paquetes , compruebe que Configuración de LoadXMLData EV y Configuración de LoadXMLData aparecen en primer y segundo lugar respectivamente y, a continuación, haga clic en Cerrar.
Lección 1.5: Probar los paquetes actualizados Antes de ir a la siguiente lección, en la que creará el paquete de implementación que se utilizará para instalar los paquetes del tutorial en el equipo de destino, debe probar los paquetes. En esta tarea, ejecutará los paquetes, DataTransfer.dtsx y LoadXMLData, que ha agregado al proyecto Deployment Tutorial y ha ampliado con configuraciones. Al ejecutar los paquetes, cada ejecutable del paquete se convierte en color verde en cuanto finaliza correctamente.Cuando todos los ejecutables están en verde, el paquete se ha completado correctamente. También puede ver el progreso en la ejecución del paquete en la pestaña Progreso . Si los paquetes no se ejecutan correctamente, debe solucionarlos antes de ir a la siguiente lección. Para ejecutar el paquete DataTransfer 1. En el Explorador de soluciones, haga clic en DataTransfer.dtsx. 2. En el menú Depurar , haga clic en Iniciar depuración. 3. Una vez que se haya completado la ejecución del paquete, en el menú Depurar , haga clic en Detener depuración. 4. Para ejecutar el paquete LoadXMLData 1. En el Explorador de soluciones, haga clic en LoadXMLData.dtsx. 2. En el menú Depurar , haga clic en Iniciar depuración. 3. Una vez que se haya completado la ejecución del paquete, en el menú Depurar , haga clic en Detener depuración.
Lección 2: Crear el paquete de implementación en SSIS En la Lección 1: Preparar la creación del paquete de implementación, ha creado el proyecto de Integration Servicesdenominado Deployment Tutorial, ha agregado paquetes y archivos auxiliares al proyecto y ha implementado configuraciones en paquetes. En esta lección, creará el paquete de implementación, que es una carpeta que contiene los elementos que necesita para instalar paquetes en otro equipo. El paquete de implementación incluirá un manifiesto de implementación, copias de los paquetes y copias de los archivos auxiliares del proyecto Deployment Tutorial. El manifiesto de implementación enumera los paquetes, varios archivos y configuraciones en el paquete de implementación. También comprobará la lista de archivos del paquete de implementación y examinará el contenido del manifiesto. Tiempo estimado para completar esta lección : 30 minutos
Lección 2-1: creación de la utilidad de implementación En esta tarea, configurará y generará una utilidad de implementación para el proyecto Deployment Tutorial. Antes de generar la utilidad de implementación, debe modificar las propiedades del proyecto Deployment Tutorial. Usará el cuadro de diálogo Deployment Tutorial Property Pages (Páginas de propiedades de Deployment Tutorial) para configurar estas propiedades. En este cuadro de diálogo, debe habilitar la capacidad de actualizar configuraciones durante la implementación y especificar que el proceso de creación crea una utilidad de implementación. Después de establecer las propiedades, generará el proyecto. SQL Server Data Tools (SSDT) proporciona un conjunto de ventanas que puede usar para depurar paquetes. Puede ver mensajes de errores, advertencias e información, realizar el seguimiento del estado de paquetes en tiempo de ejecución o ver el progreso y los resultados de los procesos de generación. En esta lección, usará la ventana de resultados para ver el progreso y el resultado de la generación de la utilidad de implementación. Para establecer las propiedades de la utilidad de implementación 1. Si SQL Server Data Tools (SSDT) no está abierto todavía, haga clic en Inicio, seleccione Todos los programas, Microsoft SQL Servery, después, haga clic en Business Intelligence Development Studio. 2. En el menú Archivo , haga clic en Abriry, en Proyecto o solución, haga clic en la carpeta Deployment Tutoriala continuación, haga clic en Abriry, después, haga doble clic en Deployment Tutorial.sln. 3. En el Explorador de soluciones, haga clic con el botón derecho en Deployment Tutorial y haga clic en Propiedades. 4. En el cuadro de diálogo Deployment Tutorial Property Pages (Páginas de propiedades de Deployment Tutorial), expanda Propiedades de configuración y haga clic en Utilidad de implementación. 5. En el panel derecho del cuadro de diálogo Deployment Tutorial Property Pages (Páginas de propiedades de Deployment Tutorial), compruebe que AllowConfigurationChanges se establece en True, establezca CreateDeploymentUtility en Truey, de manera opcional, actualice el valor predeterminado de DeploymentOutputPath. 6. Haga clic en Aceptar. Para generar las propiedades de la utilidad de implementación 1. En el Explorador de soluciones, haga clic en Deployment Tutorial.
2. En el menú Ver , haga clic en Salida. De forma predeterminada, la ventana de resultados se encuentra en la esquina inferior izquierda de SQL Server Data Tools (SSDT). 3. En el menú Generar , haga clic en Build Deployment Tutorial(Generar Deployment Tutorial). 4. En la ventana de resultados, compruebe la siguiente información: Generación iniciada: proyecto de SQL Integration Services: Incremental... Creando la utilidad de implementación... Utilidad de implementación creada. Generación completa -- 0 errores, 0 advertencias ========== Compilación: 0 correcto, 0 errores, 1 actualizados, 0 omitidos ========== 5. En el menú Archivo , haga clic en Salir. Si se le pregunta si quiere guardar los cambios en los elementos de Deployment Tutorial, haga clic en Sí.
Lección 2.2: Comprobar el paquete de implementación En la lección 1, ha creado el proyecto Deployment Tutorial y le ha agregado paquetes y archivos auxiliares; en la tarea anterior, ha creado una utilidad de implementación para el proyecto. En esta tarea, comprobará el contenido del paquete de implementación. El paquete de implementación es la carpeta que copiará en el equipo de destino y que usará para instalar paquetes. Si ha usado el valor predeterminado, bin\Deployment, como ubicación de la utilidad de implementación, el paquete de implementación está en la carpeta Bin\Deployment dentro de la carpeta Deployment Tutorial del proyecto Integration Services . Para comprobar el contenido del paquete de implementación 1. Busque la carpeta bin\Deployment en el equipo. 2. Compruebe que están presentes los archivos siguientes: DataTransfer.dtsx datatransferconfig.dtsconfig Deployment Tutorial.SSISDeploymentManifest LoadXMLData.dtsx loadxmldataconfig.dtsconfig NewCustomers.txt orders.xml orders.xsd Readme.txt 3. Haga clic con el botón derecho en Deployment Tutorial.SSISDeploymentManifest, elija Abrir cony, después, haga clic en Internet Explorer. También puede abrir el archivo en un editor de texto como el Bloc de notas. El código XML del archivo debe ser el siguiente: DataTransfer.dtsxLoadXMLData.dtsxdatatransferconfig.dtsconfigloadxmldataconfig.dtsconfigReadme.txtorders.xmlNewCustomers.txtorders.xsd
4. Compruebe que el valor del atributo AllowConfigurationChanges es true y el XML incluye un elementoPackage para cada uno de los dos paquetes, un elemento MiscellaneousFile para cada uno de los cuatro archivos no empaquetados y un elemento ConfigurationFile para cada uno de los dos archivos de configuración de XML. 5. Salga de Internet Explorer o del editor de texto.
Lección 3: Instalar paquetes En la Lección 2: Crear el paquete de implementación en SSIS, ha generado una utilidad de implementación y ha creado el paquete de implementación que contiene los elementos que necesita para instalar paquetes en otro equipo. También ha comprobado la lista de archivos en el paquete de implementación y ha examinado el contenido del archivo de manifiesto que se creó al generar la utilidad de implementación. En esta lección, copiará el paquete de implementación en el equipo de destino y, a continuación, ejecutará el Asistente para la instalación de paquetes para instalar los paquetes, sus dependencias y los archivos auxiliares en ese equipo. Los paquetes se instalarán en la base de datos de SQL Server y los otros elementos se instalarán en el sistema de archivos.Después de completar la instalación de los paquetes, para probar la implementación, ejecutará los paquetes desde SQL Server Management Studio con la Utilidad de ejecución de paquetes. Tiempo estimado para completar esta lección : 30 minutos
Lección 3.1: copiar el paquete de implementación En esta tarea, copiará el paquete de implementación en el equipo de destino. La forma más fácil de copiar el paquete de implementación en el equipo de destino es crear primero un recurso compartido público en dicho equipo, asignar una unidad al recurso compartido público y, a continuación, copiar el paquete de implementación en el recurso compartido. Si no sabe cómo crear y configurar carpetas públicas o asignar unidades, vea la documentación de Windows. Para copiar el paquete de implementación 1. Busque el paquete de implementación en el equipo. Si ha usado la ubicación predeterminada, el paquete de implementación está en la carpeta Bin\Deployment dentro de la carpeta Deployment Tutorial. 2. Haga clic con el botón derecho en la carpeta Deployment y luego en Copiar. 3. Busque el recurso compartido público en el que desea copiar la carpeta en el equipo de destino y haga clic enPegar.
Lección 3.2: Ejecuta al Asistente para la instalación de paquetes
En esta tarea, ejecutará el Asistente para la instalación de paquetes para implementar los paquetes del proyecto Deployment Tutorial en una instancia de SQL Server. Solamente los paquetes se pueden instalar en la tabla sysssispackages de la base de datos msdb de SQL Server , los archivos compatibles que incluya el paquete de implementación se implementarán en el sistema de archivos. El Asistente para la instalación de paquetes le guiará por los pasos para instalar y configurar los paquetes. Instalará los paquetes en una instancia de SQL Server en el equipo de destino (el equipo en el que copió el paquete de implementación). También creará una carpeta, C:\DeploymentTutorialInstall, en la que el asistente instalará los archivos no empaquetados. En una lección anterior, modificó los paquetes del tutorial para utilizar configuraciones. Con el Asistente para la instalación de paquetes, editará estas configuraciones para permitir que los paquetes se ejecuten correctamente en el entorno de la instalación. Para instalar los paquetes 1. En el equipo de destino, busque el paquete de implementación. Si ha usado el valor predeterminado, bin\Deployment, como ubicación de la utilidad de implementación, el paquete de implementación está en la carpeta Bin\Deployment dentro del proyecto Deployment Tutorial. 2. En la carpeta Deployment, haga doble clic en el archivo de manifiesto, Deployment Tutorial.SSISDeploymentManifest. 3. En la página principal del Asistente para instalar paquetes, haga clic en Siguiente. 4. En la página Implementar paquetes SSIS, seleccione la opción Implementación en SQL Server , active la casilla Validar los paquetes después de la instalación y luego haga clic en Siguiente. 5. En la página Especificar el SQL Server de destino, especifique (local) en el cuadro Nombre del servidor . 6. Si la instancia de SQL Server admite la autenticación de Windows, seleccione Usar autenticación de Windows; en caso contrario, seleccione Usar autenticación de SQL Server y proporcione un nombre de usuario y una contraseña. 7. Compruebe que la casilla Basar el cifrado en el almacenamiento del servidor está desactivada. 8. Haga clic en Siguiente. 9. En la página Seleccionar la carpeta de instalación, haga clic en Examinar.
10. En el cuadro de diálogo Buscar carpeta , expanda Mi PC y, después, haga clic en Disco local (C:). 11. Haga clic en Crear nueva carpeta y reemplace el nombre predeterminado de la nueva carpeta, Nueva carpeta, por DeploymentTutorialInstall. Importante En el valor de las variables de entorno que utilizan las configuraciones se hace referencia a este nombre.El nombre de la carpeta y la referencia deben coincidir o el paquete no se ejecutará. 12. Haga clic en Aceptar. 13. En la página Seleccionar la carpeta de instalación, compruebe que el cuadro Carpeta contieneC:\DeploymentTutorialInstall y luego haga clic en Siguiente. 14. En la página Confirmar la instalación, haga clic en Siguiente. El asistente instala los paquetes. Una vez finalizada la instalación, se abre la página Configurar paquetes. 15. En la página Configurar paquetes, compruebe que el cuadro Archivo de configuración contiene datatransferconfig.dtsconfig y loadxmldataconfig.dtsconfig. 16. En la lista Archivo de configuración , haga clic en datatransferconfig.dtsconfig, expanda Propiedad en la columna Ruta de acceso del cuadro Configuraciones y actualice la columna Valor con los siguientes valores: Propiedad
Valor
\Package.Connections[Deployment Tutorial Log].Properties[ConnectionString]
C:\Archivos de programa\Microsoft SQL Server\100\Samples\Inte Services\Tutorial\Deploy Packages\Completed Packages\Deployment T Log
\Package.Connections[NewCustomers].Properties[ConnectionString]
C:\Archivos de programa\Microsoft SQL Server\100\Samples\Inte Services\Tutorial\Deploy Packages\Sample Data\NewCustomers.txt
17. En la lista Archivo de configuración , haga clic en loadxmldataconfig.dtsconfig, expanda Propiedad en la columna Ruta de acceso del cuadro Configuraciones y actualice la columna Valor con los siguientes valores:
Propiedad
Valor
Valor actualiza
\Package.LoadXMLData.Properties[[XML Source].[XMLData]]
C:\Archivos de programa\Microsoft SQL Server\100\Samples\Integration Services\Tutorial\Deploying Packages\Sample Data\orders.xml
C:\Deploymen
\Package.LoadXMLData.Properties[[XML Source].[XMLSchemaDefinition]]
C:\Archivos de programa\Microsoft SQL Server\100\Samples\Integration Services\Tutorial\Deploying Packages\Sample Data\orders.xsd
C:\Deploymen
18. En la página Validación de paquete, vea el resultado de la validación de cada paquete instalado y, después, haga clic en Siguiente. Puesto que los valores de las variables de entorno en el equipo de destino son distintos de los valores de las variables de entorno en el equipo de desarrollo, en la página de validación de paquetes aparecen varias advertencias. Debe esperar cuatro advertencias: El archivo de configuración: "C:\DeploymentTutorial\DataTransferConfig.dtsConfig" no es válido.Compruebe el nombre del archivo de configuración. Error al cargar al menos una de las entradas de configuración en el paquete. Compruebe las entradas de configuración y las advertencias anteriores para ver una descripción de los errores de configuración. El archivo de configuración: "C:\DeploymentTutorial\LoadXMLDataConfig.dtsConfig” no es válido.Compruebe el nombre del archivo de configuración. Error al cargar al menos una de las entradas de configuración en el paquete. Compruebe las entradas de configuración y las advertencias anteriores para ver una descripción de los errores de configuración. Estas advertencias no afectan a la instalación de los paquetes. Si no ha seleccionado la opción Validar los paquetes después de la instalación en la página Implementar paquetes SSIS, la página Validación de paquete no se abre y el asistente no muestra ninguna información posterior a la instalación sobre la validación. 19. En la página Salir del Asistente para instalar paquetes, lea el resumen de la instalación y luego haga clic enFinalizar. Nota Se crea un archivo de registro temporal para utilizarlo en la validación de paquetes. Este archivo no se usa cuando se ejecuta el paquete.
Lección 3.3: probar los paquetes implementados En esta tarea probará los paquetes que ha implementado en una instancia de SQL Server. En otros tutoriales de Integration Services , ejecutó paquetes en SQL Server Data Tools (SSDT), el entorno de desarrollo deIntegration Services, con la opción Iniciar depuración del menú Depurar . Esta vez ejecutará los paquetes de otra forma. Integration Services proporciona varias herramientas que puede usar para ejecutar paquetes en el entorno de prueba y producción: la utilidad del símbolo del sistema dtexec y la utilidad de ejecución de paquetes. La Utilidad de ejecución de paquetes es una herramienta gráfica integrada en dtexec. Las dos herramientas ejecutan el paquete de forma inmediata.Además, SQL Server proporciona un subsistema del Agente SQL Server que está diseñado especialmente para programar la ejecución de paquetes como un paso del trabajo del Agente SQL Server. Utilizará la Utilidad de ejecución de paquetes para ejecutar los paquetes implementados. Los paquetes se utilizarán tal como están; por tanto, no tiene que actualizar información en ninguna página del cuadro de diálogo. Ejecutará los paquetes desde la página General, que es la primera página de la Utilidad de ejecución de paquetes. Si lo desea, puede hacer clic en otras páginas para ver la información que contienen para cada paquete. Nota Para asegurarse de que los paquetes funcionan correctamente en el contexto de este tutorial, no debe modificar ninguna opción. Antes de ejecutar paquetes en SQL Server Management Studio con la Utilidad de ejecución de paquetes, asegúrese de que se está ejecutando el servicio Integration Services. El servicio Integration Services proporciona compatibilidad para la ejecución y el almacenamiento de paquetes. Si el servicio se detiene, no puede conectarse a Integration Services y SQL Server Management Studio no enumera los paquetes que se van a ejecutar. También debe tener permisos para ejecutar el paquete en la instancia donde se haya implementado el paquete. Para obtener más información, vea Roles de Integration Services (servicio SSIS). Las carpetas de nivel superior dentro de la carpeta Paquetes almacenados son carpetas definidas por el usuario que supervisa el servicio Integration
Services. En el archivo MsDtsSrvr.ini.xml puede especificar tantas carpetas como desee. En este tutorial se supone que va a utilizar el archivo MsDtsSrvr.ini.xml predeterminado y que los nombres de las carpetas de nivel superior dentro de Paquetes almacenados son Sistema de archivos y MSDB. Para conectar a Integration Services en SQL Server Management Studio 1. Haga clic en Inicio, elija Todos los programas, Microsoft SQL Servery, a continuación, haga clic en SQL Server Management Studio. 2. En el cuadro de diálogo Conectar con el servidor , seleccione Integration Services en la lista Tipo de servidor , proporcione un nombre de servidor en el cuadro Nombre del servidor y haga clic en Conectar. Importante Si no puede conectarse a Integration Services, es probable que no se esté ejecutando el servicioIntegration Services . Para conocer el estado del servicio, haga clic en Inicio, elija sucesivamente Todos los programas, Microsoft SQL Server, Herramientas de configuración, y haga clic en Administrador de configuración de SQL Server. En el panel izquierdo, haga clic en Servicios de SQL Server. En el panel derecho, busque el servicio Integration Services . Inicie el servicio, si no se está ejecutando todavía. SQL Server Management Studiose abre. De forma predeterminada, se abre la ventana Explorador de objetos y se coloca en la esquina superior derecha del estudio. Si el Explorador de objetos no está abierto, haga clic en Explorador de objetos en el menú Ver . Para ejecutar los paquetes con la Utilidad de ejecución de paquetes 1. En el Explorador de objetos, expanda la carpeta Paquetes almacenados. 2. Expanda la carpeta MSDB. Puesto que ha implementado los paquetes en SQL Server, todos los paquetes implementados se almacenan en la base de datos msdb de SQL Server y todos ellos aparecen en la carpeta MSDB. La carpeta Sistema de archivos está vacía, a menos que haya implementado paquetes en el sistema de archivos fuera de Deployment Tutorial. 3. Empezando en la parte superior de la lista de paquetes, haga clic con el botón derecho en DataTransfer y haga clic en Ejecutar paquete. 4. En el cuadro de diálogo Utilidad de ejecución de paquetes , haga clic en Ejecutar. 5. En el cuadro de diálogo Utilidad de ejecución de paquetes , vea el progreso y los resultados de la ejecución del paquete. Cuando el botón Detener no esté disponible, lo que indica que el paquete ha finalizado, haga clic en Cerrar. Importante Si hace clic en Detener mientras el paquete se está ejecutando, el paquete no finalizará.
6. En el cuadro de diálogo Utilidad de ejecución de paquetes , haga clic en Cerrar. 7. Repita los pasos 3 a 6 con el paquete LoadXML. 8. En el menú Archivo , haga clic en Salir. Para comprobar los resultados del paquete DataTransfer 1. En la barra de herramientas de SQL Server Management Studio, haga clic en Nueva consulta. 2. En el cuadro de diálogo Conectar al servidor , seleccione Motor de base de datos en la lista Tipo de servidor , proporcione el nombre de servidor en el que ha instalado los paquetes del tutorial o escriba (local) en el cuadro Nombre del servidor y seleccione un modo de autenticación. Si utiliza Autenticación de SQL Server, proporcione un nombre de usuario y una contraseña. 3. Haga clic en Conectar. 4. En la ventana de consultas, escriba o pegue la siguiente instrucción SQL: USE AdventureWorks SELECT * FROM HighIncomeCustomers
5. Presione F5 o haga clic en el icono Ejecutar en la barra de herramientas. La consulta devuelve 31 filas de datos. El resultado devuelto contiene filas del archivo de texto, Customers.txt, que tienen valores mayores que 100000 en la columna YearlyIncome. 6. Busque la carpeta DeploymentTutorial, haga clic con el botón derecho en el archivo XML de registro, Deployment Tutorial Log y, después, haga clic en Abrir. Puede abrir el archivo con el Bloc de notas o el editor de texto o XML que prefiera. Para comprobar los resultados del paquete LoadXMLData 1. En la barra de herramientas de SQL Server Management Studio, haga clic en Nueva consulta. 2. Si se le pide que se conecte de nuevo, en el cuadro de diálogo Conectar al servidor , seleccione Motor de base de datos en la lista Tipo de servidor , proporcione el nombre de servidor en el que ha instalado los paquetes del tutorial o escriba (local) en el cuadro Nombre del servidor y seleccione un modo de autenticación. Si utiliza Autenticación de SQL Server, proporcione un nombre de usuario y una contraseña. 3. Haga clic en Conectar. 4. En la ventana de consultas, escriba o pegue la siguiente instrucción SQL: USE AdventureWorks SELECT * FROM OrderDatesByCountryRegion
5. Presione F5 o haga clic en el icono Ejecutar en la barra de herramientas. La consulta devuelve 21 filas de datos. El resultado devuelto consta de filas del archivo de datos XML, orders.xml.Cada fila es un resumen por país y región; la fila
presenta el nombre de un país o región, el número de pedidos de cada país o región, y las fechas del pedido más reciente y más antiguo.