View
77
Download
2
Category
Preview:
Citation preview
Introducción a SSIS con Biml
15 de Octubre (12 pm GMT -5)
Guillermo CaicedoResúmen:
En esta sesión aprenderemos los fundamentos del
BimlScript y mostraremos los beneficios de la
creación de patrones de diseño para la
automatización de los procesos de SSIS.
Próximos Eventos
Escalando con SQL Server hasta
la nube, un trayecto necesario
29 de Octubre
Adrián Miranda Cordero
Recuperación de desastres y
soluciones de alta disponibilidad
con SQL Server
12 de Noviembre
Michelle Gutzait
Creando Reportes personalizados
en ERP - MS Dynamics AX 2012 y
SQL Server 2012
22 de Octubre
Juan Manuel Rafael Fabián
Está por comenzar:
Introducción a SSIS con Biml</>
15 de octubre de 2014
Guillermo Caicedo
Consultor | Nagnoi, LLC
Presidente, Puerto Rico PASS
guillermo.caicedo@sqltitan.com
@sqltitan www.prpass.org
www.facebook.com/prpass
www.twitter.com/prpass
Flujo de datos en un DW
Data Sources
Staging Area
Manual
Cleansing
Data Marts
Data Warehouse
Client
Access
Iterativo
Introducción
Una gran cantidad de paquetes de SSIS son muy similares
• paquetes para carga de archivos planos
• paquetes para actualización de dimensiones
• paquetes para carga de fact tables
• …
• … pero toman una gran cantidad de tiempo para crear
¿Que soluciones tenemos?
reutilización de código• SSIS básicamente solo soporta copy/paste
• copy/paste a mejorado grandemente desde SQL 2012
• patrones de diseño
• ejemplo: paquete de carga incremental
• SQL Server 2012 Integration Services Design Patterns
• creación de plantillas
• construcción de un paquete que sirva como plantilla
• sálvalo en C:\Program Files (x86)\Microsoft Visual Studio
11.0\Common7\IDE\PrivateAssemblies\ProjectItems\DataTransformationProject\DataTransformationItems
• pero sigue siendo requerido el editar cada uno de los paquetes
• (q pasaría si se nos olvida editar una parte crucial del proceso?)
Desarrollo basado en metadata
primera opción: paquete de SSIS dinámico
1. lee la metadata de unas tablas
2. genera el código
• usualmente genera T-SQL o comandos bcp
• utiliza T-SQL o C#
• ejemplo: SELECT … INTO
3. itera sobre el código generado
4. ejecuta cada consulta
desventajas
• complejidad de los proyectos
• no se utiliza el poder de SSIS
• no hay paralelismo
• dificultad para el manejo de errores
• dificultad para incorporar “lógica de negocio”
¿Biml?
segunda opción:
• Biml es un lenguaje basado en XML (lenguaje de marcas extensible) y un
compilador
• Traduce metadata a soluciones de inteligencia de negocio para SQL Server
• soporta objetos de SSIS y SSAS
• Desarrollado por Varigence
• http://www.varigence.com
• http://www.bimlscript.com
• MIST: versión completa y comercial de Biml
BIDS Helper
BIDS Helper contiene la versión open source de Biml
• add-on gratis! para Visual Studio
• esta disponible para las versiones SSIS 2005, 2008, 2008R2, 2012 (y 2014?)
• soporta funcionalidades limitadas a la creación de paquetes de SSIS
¿que nos ofrece Biml?
• poderosa herramienta de generación de código
• reutiliza patrones y componentes de BI
• crea tu patrón en Biml y genera todos tus paquetes con la misma estructura y consistencia
• lenguaje de programación basado en .NET
• código de C# puede incorporarse a un script de Biml para generar objetos basado en metadata
• ¿No le gusta Biml?
• Los paquetes generados son paquetes de SSIS comunes, pueden editarse con las misma herramientas
BIDS/SSDT/SSDTBI
Estructura básica de un script de Biml
Biml
Connections
FileFormats
Packages
Tasks
Containers
Tasks
Dataflow
Precedence constraints
Transformations
Sintaxis Básica
BIML Tags (Root Node)<Biml xmlns="http://schemas.varigence.com/biml.xsd"></Biml>
Add Connections<Biml xmlns="http://schemas.varigence.com/biml.xsd"><Connections><Connection Name=“DataConnection" ConnectionString="Data Source=.\sql2012;Initial Catalog=Northwind;Provider=SQLNCLI10.1;Integrated Security=SSPI; " /></Connections></Biml>
Add Packages<Biml xmlns="http://schemas.varigence.com/biml.xsd"><Connections><Connection Name=“DataConnection" ConnectionString="Data Source=.\sql2012;InitialCatalog=Northwind;Provider=SQLNCLI10.1;Integrated Security=SSPI; " /></Connections><Packages><Package Name=“BIMLIntroduction" ConstraintMode=“Parallel” ProtectionLevel=“DontSaveSensitive“/></Packages></Biml>
Modos de restricción (Constraint Modes)
Paralelo (Parallel)
• No crea restricciones de precedencia
• Todos los elementos tienen que conectarse utilizando el Tag de
PrecedenceConstraints
Lineal (Linear)
• Automáticamente conecta todos los componentes en el orden de creación
• Todos los elementos se conectan a su precedencia con el tipo de conexión
“SuccessFull”
13
Paquete de Carga Incremental
Source
Correlate
Filter
Updates Stage
Destination
Fuente - Stairway to BIML: http://www.sqlservercentral.com/articles/BIML/101330/
BimlScript
Permite insertar código de C# o VB.Net en los scripts de Biml
Automatiza el trabajo repetitivo en scripts reutilizables
Sintaxis:Directivas
Template – indica que el archivo de BimlScript utiliza C# como lenguaje de programación.
<#@ template language="C#">
Import – especifica los namespaces de .Net que se deben importar para el archivo.
<#@ import namespace="System.Data" #>
Delimitadores
Delimitador Descripción
<# Define bloques de código de .NET y provee el control del flujo de un archivo de Biml.
<#= Evalúa un bloque de código de .NET, convierte el resultado en un string, y lo inserta en el archivo de Biml.
<#+Define propiedades, métodos y archivos que están excluidos del archivo de Biml pero pueden accederse por otros bloques de
código BimlScript.
Referencias
Biml
• Varigencehttp://www.varigence.com/Products/Biml/Capabilities
• BimlScripthttp://bimlscript.com/
• BIDS Helper on Codeplexhttp://bidshelper.codeplex.com/
Blogs• Stairway to Biml by Andy Leonard
http://www.sqlservercentral.com/stairway/100550/
• BIML articles by Joost van Rossumhttp://microsoft-ssis.blogspot.be/search/label/BIML
• BIML articles by Marco Schreuderhttp://blog.in2bi.eu/tags/biml/
• BIML articles by John Welchhttp://agilebi.com/jwelch/tag/biml/
• Introduction to Biml part I by Koen Verbeeckhttp://www.mssqltips.com/sqlservertip/3094/introduction-to-business-intelligence-markup-language-biml-for-ssis/
Manténgase conectado a nosotros!
Visítenos en http://globalspanish.sqlpass.org
/SpanishPASSVC
lnkd.in/dtYBzev
/user/SpanishPASSVC
/SpanishPASSVC
Planning on attending PASS Summit 2014?
• The world’s largest gathering of SQL Server & BI professionals
• Take your SQL Server skills to the next level by learning from the world’s
SQL Server experts, in 190+ technical sessions
• Over 5000 attendees, representing 2000 companies, from 52 countries,
ready to network & learn
When registering use the code VCSUM17 to
save $150 off registration!
$2,095UNTIL OCTOBER 31, 2014
Outstanding Volunteer AwardDo you know a volunteer that has gone
above and beyond recently?
Nominate them for the monthly OVA.
VolunteerRecognition@sqlpass.org
PASS Volunteer Awards
PASSion AwardThe highest of PASS accolades presented
yearly to a volunteer.
Manténgase involucrado!
• Registrate HOY en sqlpass.org para una membresia gratuita
• Linked In: http://www.sqlpass.org/linkedin
• Facebook: http://www.sqlpass.org/facebook
• Twitter: @SQLPASS
• PASS: http://www.sqlpass.org
Creando Reportes personalizados en ERP -MS Dynamics AX 2012 y SQL Server 2012
22 de Octubre (12 pm GMT -5)
Juan Manuel Rafael Fabián
Resúmen:
En esta sesión se mostrara como podemos maximizar las
bondades de SSRS de SQL Server 2012 para obtener
reportes para las empresas a través de un ERP de clase
mundial.
Próximo Evento
Recommended