Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
TEMA: DESARROLLO DE ACTIVIDADES CAPITULO 1 (LIBRO MCST EXAM 70-448) OBJETIVOS: Desarrollar las lecciones del Captulo del libro MSCT EXAM 70-448) Aprender a desarrollar Paquetes SSIS
Leccin 1: CREANDO PAQUETES SSIS Y FUENTES DE DATOS a) Creando Paquetes SSIS Ejecutamos SQL Managenent Studio Seleccionamos Importar o Exportar Datos Seleccionamos el origen de datos, en nuestro caso seleccionamos como origen de datos SQL Server Native Client 10.0 y base de datos AdventureWorksDW2008R2
Como destino seleccionamos QL Server Native Client 10.0 y Base de Datos AdventureWorksDW2008R2
Para nuestro primer ejemplo seleccionamos Copiar los datos de una o varias tablas o vistas y seleccionamos la tabla DImEmploye y como destimo creamos una compia de esta tabla en DimEmploye_SSIS_C1_L1
Tenemos dos opciones: o Ejecutar Inmediatamente que realizara nustra tarea inmediatamente, es decir, copiar lo que posee la tabla DimEmploye en DimEmploye_SSIS_C1_L1 o O Guardar el Paquete SSIS Seleccionamos la segunda opcin, teniendo dos opciones de almacenamiento: o Guardar en SQL Server que almacena el paquete SSIS en nuestra base de datos o O en el sistema de Archivos que almacena el paquete SSIS en nuestro sistema de archivos o en disco Seleccionamos Cualquiera de los dos El nivel de proteccin de paquetes lo dejamos que el que se muestra por defecto
Guardamos el Paquete con nombre 1_SSIS_C1_L1, en descripcin ponemos 1_SSIS_C1_L1 copiar tabla DimEmploye, servidor seleccionamos nuestro servidor por defecto.
Finalizamos y hemos creado nuestro primer paquete SSIS, que como tarea realizara una copia de una tabla sobre la misma base de datos.
Para ejecutar nuestro paquete SSIS, vamos a inicioMicrosoft SQL Server 2008 R2Integration ServicesUtilidad de ejecucin de paquetes
En esta utilidad seleccionamos el origen del paquete y el servidor, tenemos tres opciones: o SQL Server si hemos almacenado nuestro paquete en la Base de datos o Sistemas de Archivos si hemos almacenado nuestro paquete en el disco duro o Almacn de paquetes SSIS Para nuestro ejemplo seleccionamos SQL Server y en paquete buscamos nuestro paquete que lo almacenamos con nombre 1_SSIS_C1_L1, y Ejecutamos. Si tod esta correcto el paquete SSIS se ejecura correctamente mostrando el resumen de los resultados.
Comprobamos en el SQL Management Studio que el paquete SSIS haya creado una copia de la tabla DimEmploye
b) Creando un proyecto SSIS en BIDS - Abrimos el SQL Server Bussines Intelligence Develoment Studio
Creamos un nuevo proyecto, en tipo seleccionamos proyectos de Bussines Intelligence y en plantillas Proyecto de Integration Services, asignamos un nombre, la ubicacin deonde almacenaremos nuestro proyecto SSIS. Se abrir nuestro entorno de trabajo, cambiamos el nombre de nuestro paquete SSIS a MyPackage.dtsx, nos preguntara si realmente queremos cambiar el nombre de nustro pauqte u obeto y seleccionamos que SI. Sobre la carpeta Origen de Datos seleccionamos Nuevo origen de Datos, en la ventana que se muestra seleciona Nueva, en la ventaba del Administrador de conexiones seleccionamos el servidor y la base de datos con la que vamos a trabajar, en nuestro caso AdventureWorksDW2008R2
Ahora tenemos que crear una nueva conexin en el administrador de conexiones, para lo cual damos clic derecho sobre el rea y seleccionamos
Leccin 2: CREANDO Y EDITAMDO EL FLUJO DE CONTROL DE OBJETOS En el proyecto seleccionamos y arrastramos al flujo de control la herramienta Tarea ejecutar SQL
Damos doble clic sobre el element y cambiamos la conexin a Adventure Works DW200R2
Aadimos un Contenedor de secuencias y arrastramos la Tarea de Scipt que hemos llamado Update ProductLine para que esta quede anidad al contenedor de secuencias
Ejecutamos el proyecto, si los objetos se ponen en color verde quiere decir que la ejecucin se realiz con xito, tambie podemos revisar el panel de resultados para verificar los mensajes.
Ejercicio 2 Creamos un nuevo proyecto, creamos el origen de datos y la conexin de datos basada en el origen de datos. Al flujo de control agregamos dos Tarea Ejecutar SQL y un Flujo de datos y cambiamos los nombres a como se observa en la imagen.
Abrimos el SQL Server management Studio y creamos la tabla stgDimCustomerUpdates, con el siguiente script
USE AdventureWorksDW2008R2 GO CREATE TABLE [dbo].[stgDimCustomerUpdates]( [CustomerAlternateKey] [nvarchar](15) NULL, [AddressLine1] [nvarchar](60) NULL, [AddressLine2] [nvarchar](60) NULL, [BirthDate] [datetime] NULL, [CommuteDistance] [nvarchar](15) NULL, [DateFirstPurchase] [datetime] NULL, [EmailAddress] [nvarchar](50) NULL, [EnglishEducation] [nvarchar](40) NULL, [EnglishOccupation] [nvarchar](100) NULL, [FirstName] [nvarchar](50) NULL, [Gender] [nvarchar](1) NULL,
[GeographyKey] [int] NULL, [HouseOwnerFlag] [nvarchar](1) NULL, [LastName] [nvarchar](50) NULL, [MaritalStatus] [nvarchar](1) NULL, [MiddleName] [nvarchar](50) NULL, [NumberCarsOwned] [tinyint] NULL, [NumberChildrenAtHome] [tinyint] NULL, [Phone] [nvarchar](25) NULL, [Suffix] [nvarchar](10) NULL, [Title] [nvarchar](8) NULL, [TotalChildren] [tinyint] NULL, [YearlyIncome] [nvarchar](100) NULL) ON [PRIMARY]
Regresamos a nuestro proyecto SSIS, y editamos las propiedades de la tarea Ejecutar SQL con nombre Truncate Update Table, y selecionamos lo siguiente (observar imagen)
En conexin seleccionamos Adventure Works DW200R2 y en SQL Statament agregamos el siguiente script
TRUNCATE TABLE dbo.stgDimCustomerUpdates
Editamos la segunda Tarea Ejecutar SQL, agregamos la conexin a la base de datos y agregamos el siguiente script
insert into stgDimCustomerUpdates BirthDate , CommuteDistance (AddressLine1 , AddressLine2 ,
, DateFirstPurchase , EmailAddress , EnglishEducation , EnglishOccupation , FirstName , Gender , GeographyKey , HouseOwnerFlag , LastName , MaritalStatus , MiddleName , NumberCarsOwned , NumberChildrenAtHome , Phone , Suffix , Title , TotalChildren ) select AddressLine1 , AddressLine2 , BirthDate , CommuteDistance , DateFirstPurchase , EmailAddress , EnglishEducation , EnglishOccupation , FirstName , Gender , GeographyKey , HouseOwnerFlag , LastName , MaritalStatus , MiddleName , NumberCarsOwned , NumberChildrenAtHome , Phone , Suffix , Title , TotalChildren from DimCustomer
Aceptamos y Guardamos el proyecto, Ejecutamos el proyecto, si todo esta correcto se ejecutara y los objetos se pondrn de color verde.
Luego para revisar que la tarea se haya ejecutado correctamente y haya realizado lo indicado en el script abrimos el SSME, y ejecutamos el siguiente script
Si obtenemos datos resultantes quiere decir que la tarea ejecutada por nuestro paquete SSIS fue exitosa.
Leccin 3: USANDO ADAPTADORES DE FLUJO Y TRANSFORMACIONES a) Practica 1 - Abrimos el proyecto de la leccin 2 y trabajamos sobre ella, editamos el componente de flujo de datos.
- Aadimos un Origen de OLE DB , lo editamos en administrador de conexiones seleccionamos Adventure Works, y en mtodo de acceso a datos seleccionamos Comando SQL y ponemos el siguiente script:
SELECT SH.OrderDate, SD.LineTotal, P.ProductLine FROM Sales.SalesOrderHeader SH INNER JOIN Sales.SalesOrderDetail SD ON SH.SalesOrderID = SD.SalesOrderID INNER JOIN Production.Product P ON SD.ProductID = P.ProductID
- En columnas verificamos que se encuentren disponibles OrderDate, LineTotal, ProductLine - Agregamos un objeto Agregado. - Lo editamos y seleccionamos la columna OrderDate, en operacin confirmamos que se encuentre GROUPBY. - Seleccionamos el campo LineTotal, ponemos como alias Subtotal y en Operacin seleccionamos SUM - Seleccionamos ProdctLine, verificamos que en operacin este GROUP BY
- Agregamos un objeto Destino OLE DB, y conectamos el Agregado al Destino OLE DB - Editamos el objeto Destino OLE DB: - En administrador de conexiones seleccionamos Adventure Works2008R2 - En modo de acceso a datos seleccionamos Tabla o Vista y damos clic en el boto Nueva - En el editor que se muestra ponemos el siguiente script
CREATE TABLE [Sales_Summary] ( [OrderDate] DATETIME, [SubTotal] NUMERIC (38,6), [ProductLine] NVARCHAR(2) ) ON [PRIMARY]
Verificamos que toso los campos del origen se encuentren asignados a sus correspondientes del destino
Damos clic derecho sobre el rea de flujo de datos y seleccionamos ejecutar, si todo esta correcto, los objetos se pondrn de color verde y la ventana de resultados no se mostrara ningn error
b) Practica 2 - Abrimos el proyecto realizado en la leccin 2 - En el flujo de datos agregamos un origen de OLE DB - Cambiamos el nombre a Customer Source - Editamos el objeto, en administrador de conexiones selecionamos Adventure Works, en modo
de acceso a datos selecionamos Comando SQL y ponemos el siguiente script
select convert(nvarchar(15),SC. AccountNumber) as CustomerAlternateKey, C.Title, C.FirstName, C.MiddleName, C.LastName, C.Suffix, C.EmailAddress, C.AddressLine1, C.AddressLine2, D.BirthDate, D.MaritalStatus, D.YearlyIncome, D.DateFirstPurchase, D.Gender, D.TotalChildren, D.NumberChildrenAtHome, D.Education, D.Occupation, D.HomeOwnerFlag, D.NumberCarsOwned from Sales.vIndividualCustomer C inner join Sales.Customer SC on C.BusinessEntityID = SC.PersonID inner join Sales.vPersonDemographics D on C.BusinessEntityID = D.BusinessEntityID
En el Flujo de datos agregamos un Nuevo Origen de datos OLE DB, cambiamos el nombre a Customer Dim. Editamos Origen de datos OLE DB y en modo de acceso a datos seleccionar Tabla o Vista y seleccionamos la tabla DimCustomer
Agregamos dos objetos Ordenar y enlazamos los orgenes de datos a estos objetos