SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations...

33
SSIS Parameters vs. Configurations New tricks in 2012!

Transcript of SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations...

Page 1: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

SSIS Parameters vs. Configurations

New tricks in 2012!

Page 2: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Allen Smith

• Sr. Business Intelligence Consultant

• Cognitive Information, Inc.

• Specialize in BI and Data Warehousing since ‘99

– Healthcare

– Insurance

– Energy industries

8/10/2013 |

Footer Goes Here 2 | Twitter: @CognitiveBI

Email: [email protected]

Page 3: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

SSIS Parameters vs. Configurations

• SQL 2008 R2 – Configurations

• Static

• Basic SQL table

• Dynamic

• SQL 2012 – Parameters

• Project Level

• Package Level

– Catalogs

Page 4: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Configurations in SSIS 2008 R2

• Package Configurations – Static Configurations – entering property values

– Dynamic Configurations • XML files

• Database lookup

• Environment Variables

– Combinations • Example:

Environment Variables point to Database Server

• Database stores other variables

Page 5: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Static Properties

Page 6: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Configuration Wizard to SQL Table

• SSIS Menu ‘Package Configurations’

– Wizard will create connection and table

• Select Properties to export to SQL

Page 7: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Package Configuration Wizard

‘PackagePath’ locates property

‘ConfiguredValueType’ Must match Type ‘ConfiguredValue’ Stores value

Allows you to write to a table any property for: • The Package • Any Connection • Any Containers • Any Variables • Any Task

Page 8: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Demo 2008R2

1. Static

2. SQL Configuration

Page 9: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Operating System

•OS Loads two (2) Environmental Variables:

•SSIS_Config_Server_Name

•SSIS_Root_DIR

SSIS Package

•Loads OS Variables into Package locations

•Load order is important.

SSIS Connection

•SSIS Loads Server Name Variable into a ‘Connection Manager’

SSIS Loads Properties

•Database table used to load values into properties.

•PackagePath locates property

2008R2 Dynamic Configuration

Page 10: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Operating System

•OS Loads two (2) Environmental Variables:

•SSIS_Config_Server_Name

•SSIS_Root_DIR

SSIS Package

•Loads OS Variables into Package locations

•Load order is important.

SSIS Connection

•SSIS Loads Server Name Variable into a ‘Connection Manager’

SSIS Loads Variables

•SSIS Loads Properties

•Database table used to load values into properties.

•PackagePath locates property

2008R2 Dynamic Configuration

Page 11: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Operating System

•OS Loads two (2) Environmental Variables:

•SSIS_Config_Server_Name

•SSIS_Root_DIR

SSIS Package

•Loads OS Variables into Package locations

•Load order is important.

SSIS Connection

•SSIS Loads Server Name Variable into a ‘Connection Manager’

SSIS Loads Variables

•SSIS Loads Properties

•Database table used to load values into properties.

•PackagePath locates property

2008R2 Dynamic Configuration

Page 12: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Operating System

•OS Loads two (2) Environmental Variables:

•SSIS_Config_Server_Name

•SSIS_Root_DIR

SSIS Package

•Loads OS Variables into Package locations

•Load order is important.

SSIS Connection

•SSIS Loads Server Name Variable into a ‘Connection Manager’

SSIS Loads Variables

•SSIS Loads Properties

•Database table used to load values into properties.

•PackagePath locates property

2008R2 Dynamic Configuration

Order Matters!

Page 13: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Static or Dynamic? (2008R2)

Get BIDSHelper!

http://bidshelper.codeplex.com

• Static

• SQL Config

• Dynamic SQL

Static Values will be over written by configuration!

Page 14: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Demo 2008R2

3. Environment Variable Loads SQL Configuration

Page 15: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

SQL2008 R2 Summary

• Configurations

– Allow flexible deployment

– Can be static or dynamic

– Still supported in SQL 2012

• Order Matters

– Top configuration applied first

• Get BIDS Helper to quickly identify dynamic connections.

Page 16: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

New in SSIS 2012

• Deployment Options

• Server Management

– Environments

– SSISDB Catalog

• Development Environment Enhancements

– Parameters

• Performance Improvements http://msdn.microsoft.com/en-us/library/bb522534.aspx

Page 17: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Deployment Choices…

Project Deployment Model Package Deployment

Project deployed as a unit Packages deployed separately

Parameters are used to assign values to package properties.

Use Configurations

Deployed to the SSISDB Copied to file system or saved to MSDB

Parameters are managed with SQL: set_execution_parameter_value

Configurations are updated in SQL table.

Project Parameters NOT called during execution. FAIL!

http://msdn.microsoft.com/en-us/library/hh213290.aspx

Page 18: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Parameter Types in SQL 2012?

Project Parameters

• Available to all Packages in the Project

• If Parameter = ‘Gaudy’

Package Parameters

• Available only to objects in the Package

• If Parameter = ‘Orange’

Page 19: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Add Project Parameter

• Add Project Parameters

• Names are Case SenSiTiVe

• Be careful of Data Types

Page 20: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Data Type Confusion SSIS Data Type SSIS Variables SQL Server Data

Type .NET Managed Type

DT_WSTR String nvarchar, nchar, Sql_variant, xml

System.String

DT_DBTIMESTAMP DateTime Smalldatetime, datetime

System.DateTime

DT_DBTIME2 Time System.TimeSpan

DT_NUMERIC Decimal Numeric, decimal System.Decimal

DT_GUID Uniqueidentifier System.Guid

DT_BOOL Boolean bit System.boolean

DT_I2 Int16 Smallint System.Int16

SSIS will default to Unicode data types Sample list only. For full list see: http://msdn.microsoft.com/en-us/library/ms141036.aspx http://msdn.microsoft.com/en-us/library/cc716729.aspx

Page 21: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Create Parameter

Page 22: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Create Parameter Settings

• Parameterize box can:

– Apply existing parameters

– Create new parameter

• Package scope

• Project scope

• Sensitive = encrypt

Page 23: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Static or Dynamic? (2012)

• Expression Adorner

• New in 2012

• Shows that the property is dynamic

• Still recommend BIDSHelper…

Page 24: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Demo 2012

1. Static package

2. Package Parameters

3. Project Parameters

4. Both Package and Project Parameters

Page 25: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Catalogs, not just for Christmas

• SSIS Catalog – Must be created

– Manage and query with T-SQL • Projects

– Project versioning

• Packages

• Parameters – can be encrypted

• Environments

– Objects secured in folders

Page 26: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Edit Parameters in Catalog

Page 27: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Catalog Edit Parameter with T-SQL

DECLARE @var sql_variant = N'C:\SSIS_DEV\FolderC\GoodBoysAndGirls.txt' EXEC [SSISDB].[catalog].[set_object_parameter_value] @object_type=30, @parameter_name=N'DestinationFile_ConnectionString’ ,@object_name=N'SantasList 3 - Project Parameter.dtsx’ , @folder_name=N'OKCSQL-Demo’ , @project_name=N'2012Parameters’ , @value_type=V , @parameter_value=@var GO

Page 28: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Catalog Environments, Variables & Projects

• Create Environments

– Dev, Test, Prod, etc.

• Create Variables in each Environment

• Configure Project References to Environments

• Configure Project Parameter to use Environment Variable

Page 29: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Calling Catalog with Agent

• Agent Can

– Use default Parameters

– Manually set Parameters

– Use Environment to set all or some Parameters

Page 30: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Demo 2012

• Catalogs

• Environments

Page 31: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

SSIS Parameter Summary

• Parameters vs. Configurations

– Depends on Version

– Depends on deployment decisions

• Parameter Type depends on deployment

• Be careful about data types!

• SSIS Catalog in 2012 is very useful and powerful

Page 32: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

Questions???

• Please fill out evaluations so I can continue to improve my sessions.

– This session will be at SQL Saturday #191, KC, MO

– http://sqlsaturday.com/191

Page 33: SSIS Parameters vs. Configurations - Cognitive · PDF fileSSIS Parameters vs. Configurations •SQL 2008 R2 –Configurations •Static ... set_execution_parameter_value Configurations

References • BIDSHelper http://bidshelper.codeplex.com/

• Professional Microsoft SQL Server 2012 Integration Services – by Brian Knight, Erik Veerman, Jessica M. Moss, Mike Davis, Chris Rock

• 2008R2 – Defining a Configuration Approach – http://msdn.microsoft.com/en-us/library/cc671625.aspx

• 2012 SSIS Parameter Basics – http://msdn.microsoft.com/en-us/library/hh213214.aspx

• 2012 SSIS Catalog – http://msdn.microsoft.com/en-us/library/hh479588.aspx