Jemini Joseph. About me Working in Microsoft BI field since 2003. Mostly consulting in SSIS Worked as programmer in Visual Basic before moving to BI

Slides:



Advertisements
Similar presentations
Jose Chinchilla, MCTS, MCITP. Nuevo Ambiente de Desarrollo SQL Server 2012 Habilidades T-SQL a Super Poderes SSIS Demo BIDS Fuentes de Datos (Data Sources)
Advertisements

TOP NEW SSIS 2012 FEATURES Miguel Cebollero
Introduction to ETL Using Microsoft Tools By Dr. Gabriel.
SQL Server 2005 Integration Services Dave Glover Microsoft Australia
Error Handling in SSIS Reza Rad SQL Server MVP, Author, DW / BI Architect.
Week 5 – Chap. 5 Data Transfer DBAs often must transfer data to and from text files, Excel spreadsheets, Access, Oracle or other SQL Server databases This.
Module 11: Data Transport. Overview Tools and functionality in Oracle and their equivalents in SQL Server for: Data transport out of the database Data.
SQL Server 2005 Integration Services Mike Taulty Developer & Platform Group Microsoft Ltd
Implementing a Data Warehouse with SQL 2012
SQL Server Integration Services (SSIS) Presented by Tarek Ghazali IT Technical Specialist Microsoft SQL Server (MVP) Microsoft Certified Technology Specialist.
What’s New in SSIS with SQL 2008 Bret Stateham Training Manager Vortex Learning Solutions blogs.netconnex.com.
HDNUG 27-March-2007 SQL Server 2005 Suite as a Business Intelligence Solution.
PASS 2003 Review. Conference Highlights Keynote speakers Gordon Mangione Alan Griver Bill Baker Technical sessions Over 120 sessions across 4 tracks Dev.
Data-driven Subscription using SSIS and SharePoint David Smeets 26/10/2013.
DTS Conversion to SSIS Conversion Best Practices Mike Davis
IT 456 Seminar 5 Dr Jeffrey A Robinson. Overview of Course Week 1 – Introduction Week 2 – Installation of SQL and management Tools Week 3 - Creating and.
Data Management Console Synonym Editor
Advanced ETL: Embedding Integration Services Ashvini Sharma Development Lead DAT411 Microsoft Corporation Sergei Ivanov Technical Lead DAT411 Microsoft.
Virtual techdays INDIA │ august 2010 SQL Data Loading Techniques Praveen Srivatsa │ Director, AsthraSoft Consulting Microsoft Regional Director,
Today’s Agenda Chapter 7 Review for Midterm. Data Transfer Tools DTS (Data Transformation Services) BCP (Bulk Copy Program) BULK INSERT command Other.
VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Web Part Development Overview VITALE, CATURANO & COMPANY LTD SharePoint Developer Series – Web Part.
ADAPTING YOUR ETL SOLUTION TO USE SSIS 2012 Presentation by Devin Knight
Building Data Integration Solutions with Integration Services Donald Farmer Group Program Manager Microsoft Corporation.
SSIS – Deep Dive Praveen Srivatsa Director, Asthrasoft Consulting Microsoft Regional Director | MVP.
The 2007 Microsoft Office System Servers Enterprise Content Management, Workflow and Forms Martin Parry Developer and Platform Group, Microsoft Ltd
SSMS SQL Server Management System. SQL Server Microsoft SQL Server is a Relational Database Management System (RDBMS) Relational Database Management System.
Creating Simple and Parallel Data Loads With DTS.
My Data Wandered Lonely As A Cloud: Azure Data Factory Julie Smith SQL Server MVP Innovative
My Data Wandered Lonely As A Cloud: Azure Data Factory Julie Smith SQL Server MVP Innovative
Metadata-driven Automatic Package Creation with Notes from the field.
Know your data source well. Who am I? Nik – Shahriar Nikkhah Microsoft MVP 2010 – SQL Server MCITP SQL 2008 MCTS SQL 2008 and s:
Scripting Just Enough SSIS to be Dangerous. 6/13/2015 Visit the Sponsor tables to enter their end of day raffles. Turn in your completed Event Evaluation.
Easy ETL with Thank you to our AWESOME sponsors!
Copyright 2015 Varigence, Inc. Unit and Integration Testing in SSIS A New Approach Scott @varigence.
Pulling Data into the Model. Agenda Overview BI Development Studio Integration Services Solutions Integration Services Packages DTS to SSIS.
SSIS 2012: The Quiet Revolution Presented by Bryan Cafferky Business Intelligence Consultant BPC Global Solutions LLC
Presented By: Jemini Joseph | June 18, Woodland Center Blvd. Tampa, Florida | Phone: | SSIS Factory.
Practical MSBI(SSIS, SSAS,SSRS) online training. Contact Us: Call: Visit:
What’s new in SSIS 2016 CTP 2.3 (, announced and rumors)
Microsoft BI Online Training AcuteSoft: India: , Land Line: +91 (0) USA: , UK.
Template Package  Presented by G.Nagaraju.  What is Template Package?  Why we use Template Package?  Where we use Template Package?  How we create.
John Lloyd, Edgewater Fullscope
SQL Server 2016 Integration Services (SSIS)
SQL Server Tasks and Components from CozyRoc
Presented By: Jessica M. Moss
What Is The SSIS Catalog and Why Do I Care?
Dynamic Data Flows in SSIS without ProgramminG
Dynamic Data Flows in SSIS without ProgramminG
Populating a Data Warehouse
Populating a Data Warehouse
Populating a Data Warehouse
CRM 2016 Solutions and Package Deployer
Dynamic Data Flows in SSIS without ProgramminG
Populating a Data Warehouse
Populating a Data Warehouse
Orchestration and data movement with Azure Data Factory v2
Populating a Data Warehouse
DYNAMIC DATA FLOWS IN SSIS WITHOUT PROGRAMMING
SSIS Deployment Smackdown!
Загрузка данных в хранилище и формирование куба
SSIS Data Integration Data Warehouse Acceleration
SSIS Data Integration Data Warehouse Acceleration
DYNAMIC DATA FLOWS IN SSIS WITHOUT PROGRAMMING
DYNAMIC DATA FLOWS IN SSIS WITHOUT PROGRAMMING
SSIS - Overview John Manguno. SSIS - Overview John Manguno.
SSIS Data Integration Data Warehouse Acceleration
DYNAMIC DATA FLOWS IN SSIS WITHOUT PROGRAMMING
Just Enough SSIS Scripting to be Dangerous.
DYNAMIC DATA FLOWS IN SSIS WITHOUT PROGRAMMING
Presentation transcript:

Jemini Joseph

About me Working in Microsoft BI field since Mostly consulting in SSIS Worked as programmer in Visual Basic before moving to BI When I’m not working…

What’s it Read SSIS packages programmatically to report details using C# script Create new SSIS 2012/2014 package and deploy using new project deployment model Convert 2008 packages into 2012/2014 and deploy

Why Need to find the package that affects a table Need to convert 100’s of packages to 2012/2014 (end of server life) Need to create package for unknown format files

What do we need SQL Server 2008 installed including SDK SQL Server 2012/2014 installed including SDK SQL Server Data tools Knowledge of C# (or VB.net) scripting. Don’t have to be an expert

Controls in a package (Control flow) TaskHost (Executable) Containers Precedence Constraints

Controls in Data Flow Source Transformations Destination Paths

Deployment difference 2005/2008 used package deployment Configure each package 2012/2014 use project deployment model Can share configuration (Environment) Uses new SSISDB database and Integration Services Catalogs

Libraries References C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Microsoft.CSharp.dll C:\Program Files (x86)\Microsoft SQL Server\120\SDK\Assemblies\Microsoft.SqlServer.ConnectionInfo.dll C:\Program Files (x86)\Microsoft SQL Server\120\SDK\Assemblies\Microsoft.SqlServer.DTSPipelineWrap.dll C:\Program Files (x86)\Microsoft SQL Server\120\SDK\Assemblies\Microsoft.SQLServer.DTSRuntimeWrap.dll C:\Program Files (x86)\Microsoft SQL Server\120\SDK\Assemblies\Microsoft.SqlServer.ManagedDTS.dll C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.Management.IntegrationServices\ __89845dcd80 80cc91\Microsoft.SqlServer.Management.IntegrationServices.dll C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.Management.Sdk.Sfc\ __89845dcd8080cc91\Micr osoft.SqlServer.Management.Sdk.Sfc.dll C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Tasks\Microsoft.SqlServer.ScriptTask.dll C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.Smo\ __89845dcd8080cc91\Microsoft.SqlServer.S mo.dll C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Tasks\Microsoft.SqlServer.SQLTask.dll 100 = SQL 2008, 110=2012, 120 = 2014 GAC – 11= 2012 and 12=2014

Namespaces using System; using System.Data; using Microsoft.SqlServer.Dts.Runtime; using System.Windows.Forms; using System.Collections.Generic; using System.Text; using System.IO; using Microsoft.SqlServer.Server; using Microsoft.SqlServer.Dts.Pipeline.Wrapper; using Microsoft.SqlServer.Dts.Runtime; using Microsoft.SqlServer.Management.IntegrationServices; using Microsoft.SqlServer.Management.Smo; using System.Collections; using System.Data.SqlClient; using Microsoft.SqlServer.Management.Common;

Demo Read 2008 Package Create new 2012 package and project Copy 2008 to 2012 and deploy

The program flow create new Set the SSISDB and folder on 2014 box Create a 2014 project and package Create Parameters for the project Deploy project to SSISDB Create Environment (Get data from each package) Configure the project using new environment

Program Flow copy/read 2008 Copy connections to project connection managers Read through control flow If the control is TaskHost (Executable) copy it If the control is container Read through controls in container If the control is executable copy it Copy Precedence constraints to link controls If the control is DFT Copy controls Copy paths between objects Refresh metadata to get columns Copy the mapping for destination controls

Some code samples Opening and reading a package object obj ssisApp = new Microsoft.SqlServer.Dts.Runtime.Application(); Microsoft.SqlServer.Dts.Runtime.Package Srcpkg = ssisApp.LoadPackage(SrcPkgFile, null);; for (int i = 0; i < Srcpkg.Executables.Count; i++) { obj = SrcPackage.Executables[i]; //ExecuteSQL and Data Flow Task if (obj.ToString() == "Microsoft.SqlServer.Dts.Runtime.TaskHost") (Data flow task and execute SQL) if (obj.ToString() == "Microsoft.SqlServer.Dts.Runtime.Sequence")

Reading TaskHost TaskHost SourcetaskHost = (TaskHost)th; if (th.InnerObject is MainPipe) Data flow if (th.InnerObject.ToString() == "Microsoft.SqlServer.Dts.Tasks.ExecuteSQLTask.Execu teSQLTask") Execute SQL

Creating controls Executable ExecSQL ExecSQL = DstPackage.Executables.Add("STOCK:SQLTask"); Executable dataFlowTask = null; dataFlowTask = DstPackage.Executables.Add("STOCK:PipelineTask");

Creating controls in DFT MainPipe DstPipeline = dataFlowTask.InnerObject as MainPipe; IDTSComponentMetaData100 Targetcomponent = DstPipeline.ComponentMetaDataCollection.New(); Targetcomponent.ComponentClassID = "DTSAdapter.OleDbSource"; Targetcomponent.RuntimeConnectionCollection[0].ConnectionManager = DtsConvert.GetExtendedInterface(SrcCM); Targetcomponent.RuntimeConnectionCollection[0].ConnectionManagerID = SrcCM.ID; CManagedComponentWrapper srcDesignTime = Targetcomponent.Instantiate(); srcDesignTime.ProvideComponentProperties(); srcDesignTime.SetComponentProperty("AccessMode", 0); srcDesignTime.SetComponentProperty("OpenRowset", TableName); srcDesignTime.AcquireConnections(null); srcDesignTime.ReinitializeMetaData(); srcDesignTime.ReleaseConnections();

Some properties of OLE source and destination

What’s not done Doesn’t work for multiple inputs or outputs (Union all merge join, multicast) Reading packages from MSDB ([dbo].[sysssispackages]) Events

Some points Consider Sequence as a package The order of the object is unknown. So when you create path, need to find the control without any input (OLE Source) and start from there. The order of executables in package is unknown. Need to creating precedenceconstraints in right order when you copy existing package Need to add input columns to Derived column May need to fix the LineageID between Derived column and OLE Destination BIML can create new packages. Can it work with flat files or excel?

Some important classes IDTSComponentMetaData100 – Data flow controls IDTSComponentMetaDataCollection100 IDTSOutput100 – Output of a control (the pipe) IDTSOutputCollection100 IDTSOutputColumn100 IDTSOutputColumnCollection100 – Generally one, multicast will have multiple IDTSInput100 IDTSInputCollection100 IDTSInputColumn100 IDTSInputColumnCollection100 Generally one. Union all will have multiple IDTSCustomProperty100 – Custom property of a control like expression IDTSCustomPropertyCollection100 IDTSPath100 IDTSPathCollection100 – Collection of path. My example have two paths. PrecedenceConstraint PrecedenceConstraints

Some links (MSDN Developers guide) (SSIS Object Model) andplusDeployplusSSI (Creating and deploying 2012 package) andplusDeployplusSSI (Search for SSIS 2012 automation) package-implementation-programmatically.aspx (Creating 2008 package) package-implementation-programmatically.aspx us/library/microsoft.sqlserver.dts.pipeline.wrapper.idtscomponentmetadata10 0.aspx (This is Data Flow control) us/library/microsoft.sqlserver.dts.pipeline.wrapper.idtscomponentmetadata10 0.aspx

Questions? Can send questions to