Make Your PACKAGES Communicate BETTER SSIS 2016 Make Your PACKAGES Communicate BETTER
Victor Ivantsov Senior SQl Server developer, 23 years of Experience TSQL, SSIS, SSRS MEMBER OF JSSUG, TOASTMASTERS ENJOY OUTDOOR SOCCER, classical AND ROCK MUSIC Platelets/plasma DONOR
ETL CHALLENGE ACCEPT ANY FILE TYPE OR LAYOUT FROM YOUR CLIENTS AND LOAD THIS INTO YOU SYSTEM DEPLOY AND RUN EXACT SAME PACKAGE IN ANY ENVIRONMENT (PROD/STAGE/UAT/QA/DEV/LOCAL) REUSE CODE and manage upgrades smoothly
Traditional PACKAGE CONFIGURATIONS XML FILE PARENT PACKAGE VARIABLE ENVIRONMENTAL VARIABLE REGISTRY ENTRY DATABASE TABLE
NEW Configuration CHILD VARIABLE SETTING PARENT VALUE (available IN SQL 2008R2 Edition) PACKAGE PARAMETERS (AVAILABLE in SQL 2012 edition)
HYBRID SOLUTION BUNDLE Packages TOGETHER, BUT MAINTAIN THE EXECUTION ORDER FORCE EACH CHILD PACKAGE TO OBTAIN RUN-TIME VALUES FOR THE ENVIRONMENT
MASTER LOAD TABLE SCHEMA
Integration Sample Data
MASTER LOAD PACKAGE
NO PARAMERS BINDING
LOCAL VARIABLES INSTEAD
MASTER LOAD CONFIGURATION
MASTER LOAD SUMMARY For a given integration Solution TABLE ROW: 1. pull a list of Packages in Required execution order 2. For Each package – load Required configuration values depending on the environment and STORE THOSE VALUE in Local master load variables 3. execute child package 4. Each child package is forced to retrieve configuration from the parent package.
First Child Package - overview
First CHILD package - Configuration
FIRST CHILD PACKAGE – CONVERSION DATA FLOW
COMPILE AND CALL validation DLL
VALIDATION WORK FLOW
Setting PARENT PACKAGE VARIABLE, FROM CHILD
Inside the script task
Typical STANDARD package
Calling a child package BY PROJECT REFERENCE
TAKE AWAY TOTALLY “INDEPENDENT” PACKAGES CAN PULL AND SET EACH OTHER VARIABLE VALUES SHARED SCRIPT TASK CODE CAN BE COMPLIED INTO DLL AND REFERENCES (NO GAC!) ALL PACKAGES DEVELOP/DEBUG LOCALY and DEPLOYED with “DESIGN TIME” VALUES ONLY CLIENT SPECIFIC or STANDARD DATA FLOWS are UNIQUE UPGRADES ARE EASY – CLONE AND INCREMENT THE NUMBER
Q & A Victor.Ivantsov@gmail.com 904-351-6336