SlideShare a Scribd company logo
SSIS Monitoring Deep Dive
Davide Mauri
@mauridb
dmauri@solidq.com
Davide Mauri
• Microsoft SQL Server MVP
• Works with SQL Server from 6.5, on BI from 2003
• Specialized in Data Solution Architecture, Database Design, Performance
Tuning, High-Performance Data Warehousing, BI, Big Data
• President of UGISS (Italian SQL Server UG)
• Regular Speaker @ SQL Server events
• Consulting & Training, Mentor @ SolidQ
• E-mail: dmauri@solidq.com
• Twitter: @mauridb
• Blog: http://sqlblog.com/blogs/davide_mauri/default.aspx
Agenda
• Deep Dive into SSISDB Log-Related Catalog
• Logging Levels
• Building a Dashboard
• Native Solutions
• 3rd Community Party Solutions
• My Solutions:
• HTML 5
• Power BI
Notice to SSIS Men
• Everything said here works for SQL Server 2012 and over and
applies to the Project Deployment Model *only*
• If you’re sill using the Package Deployment model…
• …change it! It’s OLD!
• And even O.L.D.: Omitted Log Data
SSISDB – SSIS Catalog
• Contains *everything* needed to run, manage and monitor SSIS
Packages
• (only when using the “Project Deployment Model”)
• “internal” schema := private API/Objects, for MS use only
• “catalog” schema := public, supported, API/Objects
SSIS Server Package Execution
• Each time a Package is executed:
• Create Package Execution “context”
• Set Execution Parameters Values
• Execute the Package
SSIS Server Package Execution Logging
• Logs and Execution Statistics are written to several tables
• catalog.executable
• catalog.executable_statistic
• catalog.event_messages
• catalog.operations, catalog.operation_messages
• The execution_id binds everything together
Named “operation_id” sometimes because event_messages
is an extension of operation_messages
SSIS Server Package Logging Levels
• Logging is automatically performed by the server
• None: Logging is turned off. Only the package execution status is
logged.
• Basic: (Default) All events are logged, except custom and diagnostic
events.
• Performance: Only performance statistics, and OnError and
OnWarning events, are logged.
• Verbose: All events are logged, including custom and diagnostic
events, including the DiagnosticEx event.
• Of course, logging level can be changed at execution-time, no
special design patterns needed
Reference Solution Used for Tests
• Master, Child, Child case
• Master and Child have objects with same name
• Master and Child have loops
• Master and Child have parallel executions
• Package and Projects connection managers have the same
name
• Package and Project Parameters
• Scripts (Dts.Events.FireInformation) logging via Script Task
• DataFlows
Demo
The reference solution
Before Execution
• Where data is stored in the SSISDB?
• Especially interesting the parameter and connection managers
configured and default values
• They will be useful to have the complete execution context when doing
log analysis
Demo
Package Execution
Created (1)
Pending
(5)
Running
(2)
Stopping
(8)
Canceled
(3)
Success
(7)
Completed
(9)
Failed
(4)
Unexpected
Termination /
Crash (6)
catalog.start_execution
catalog.create_execution catalog.stop_operation
ISServerExec
Unexpected Crash
Logging “None”
• Really means “Minimal”
• No logged events, but still some data is logged in some “basic”
log tables :
• catalog.executions
• catalog.execution_property_override_values
• catalog.execution_parameter_values
• catalog.executables
• catalog.executable_statistics
• Log-Like table
Logging “Basic”
• Default Option
• Data Available in “basic” log tables and
• catalog.event_messages
• Logged Events:
• OnError, OnInformation, OnPostExecute, OnPostValidate, OnPreExecute,
OnPreValidate, OnWarning
• No specific information on related to DataFlow
Logging “Performance”
• Data Available in “basic” log tables and
• catalog.event_messages
• Logged Events:
• OnError, OnWarning
• Additional specific information on component “phases”
• catalog.execution_component_phases
• No specific information on related to DataFlow
Logging “Verbose”
• Like Basic and Perfomance together PLUS DataFlow details
• DataFlow is logged in detail to catalog.execution_data_statistics
• Logged Events
• All!
• Even Diagnostic and Custom log messages (Dts.Events.FireCustom)
• Logging in event_messages is something like 100X more
verbose
• Hence the name 
Logging “Custom”
• Available only in SSIS 2016
• You can decide your own logging level…like
• Performance +
• OnInformation +
• Data Flow
Demo
Something to keep in mind
• Dataflow logs some interesting data as a text message only
• Lookup Duplicate Rows warning
• Memory Warning
• Memory Allocation
• Low Virtual Memory
• Rows sent to each destination
• Verbose is just to verbose, but we still want some DataFlow
logging
Demo
Building a Dashboard - Native
• Natively Available
• Basic User Experience
• “It just works”
• Not really a dashboard
3Rd Party Community Project
• SSIS Reporting Pack (by Jamie Thomson)
• No more maintained (AFAIK)
• Provides more than reporting
• usp_ssiscatalog
http://ssisreportingpack.codeplex.com/
HTML5
• Based on
• HTML 5 / CSS 3
• Bootstrap
• jQuery, Morris.Js, MetisMenu
• Python + Flask
• Code on GitHub
• https://github.com/yorek/ssis-queries
• https://github.com/yorek/ssis-dashboard
HTML5
HTML5
• An even more powerful version has been created by @niphlod here
• https://github.com/niphlod/ssis_dash
• Still based on Python
• But moved from Flask To Web2Py
• Supports security, authentication and authorization
• Can monitor more than one SSISDB instance
• …much more 
• Very cool!
PowerBI
• Using PowerBI Desktop it is really easy to create a nice SSIS
Dashboard
• If you don’t have problems sending data to the Azure cloud, you
can also move the Dashboard to the PowerBI Service
• And use SSIS or Azure Data Factory or PowerBI Data Gateway to keep
data in Azure updated
One last note
• Due to how security is applied in SSIS, if you’re not sysadmin or
ssis_admin queries can be *really* *really* slow
• Each row is under custom row security, using certificates
• *A lot of certificates* needs to be open and used: One for each Execution!!!!
• SQL Server 2012 SP2 fix this by allowing you to do it on project-basis instead
of Execition-basis
• https://support.microsoft.com/en-us/kb/2972285
• A *unsupported* workaround is to fix the
[internal].[current_user_object_permissions] procedure, avoiding the
usage of the scalar function [get_principal_id_by_sid], use a JOIN
instead
SSIS Monitoring Deep Dive�
Ad

More Related Content

What's hot (20)

SSIS Monitoring Deep Dive
SSIS Monitoring Deep DiveSSIS Monitoring Deep Dive
SSIS Monitoring Deep Dive
Davide Mauri
 
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
NCCOMMS
 
SQL PASS BAC - 60 reporting tips in 60 minutes
SQL PASS BAC - 60 reporting tips in 60 minutesSQL PASS BAC - 60 reporting tips in 60 minutes
SQL PASS BAC - 60 reporting tips in 60 minutes
Ike Ellis
 
SQL Server & SQL Azure Temporal Tables - V2
SQL Server & SQL Azure Temporal Tables - V2SQL Server & SQL Azure Temporal Tables - V2
SQL Server & SQL Azure Temporal Tables - V2
Davide Mauri
 
Azure SQL & SQL Server 2016 JSON
Azure SQL & SQL Server 2016 JSONAzure SQL & SQL Server 2016 JSON
Azure SQL & SQL Server 2016 JSON
Davide Mauri
 
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
Jon Peck
 
SQL Server 2016 What's New For Developers
SQL Server 2016  What's New For DevelopersSQL Server 2016  What's New For Developers
SQL Server 2016 What's New For Developers
Davide Mauri
 
A lap around microsofts business intelligence platform
A lap around microsofts business intelligence platformA lap around microsofts business intelligence platform
A lap around microsofts business intelligence platform
Ike Ellis
 
DEV03 - How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Real...
DEV03 - How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Real...DEV03 - How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Real...
DEV03 - How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Real...
Frank van der Linden
 
Scaling up to 30M users - The Wix Story
Scaling up to 30M users - The Wix StoryScaling up to 30M users - The Wix Story
Scaling up to 30M users - The Wix Story
Aviran Mordo
 
MongoDB Days UK: Using MongoDB to Build a Fast and Scalable Content Repositor...
MongoDB Days UK: Using MongoDB to Build a Fast and Scalable Content Repositor...MongoDB Days UK: Using MongoDB to Build a Fast and Scalable Content Repositor...
MongoDB Days UK: Using MongoDB to Build a Fast and Scalable Content Repositor...
MongoDB
 
An evolution of application networking: service mesh
An evolution of application networking: service meshAn evolution of application networking: service mesh
An evolution of application networking: service mesh
Christian Posta
 
Gradual migration to MicroProfile
Gradual migration to MicroProfileGradual migration to MicroProfile
Gradual migration to MicroProfile
Rudy De Busscher
 
Geek Sync | Top 5 Tips to Keep Always On Always Humming and Users Happy
Geek Sync | Top 5 Tips to Keep Always On Always Humming and Users HappyGeek Sync | Top 5 Tips to Keep Always On Always Humming and Users Happy
Geek Sync | Top 5 Tips to Keep Always On Always Humming and Users Happy
IDERA Software
 
Secure JAX-RS
Secure JAX-RSSecure JAX-RS
Secure JAX-RS
Payara
 
Porting ASP.NET applications to Windows Azure
Porting ASP.NET applications to Windows AzurePorting ASP.NET applications to Windows Azure
Porting ASP.NET applications to Windows Azure
Gunnar Peipman
 
Don't Drop ACID - Data Love - April 2021
Don't Drop ACID - Data Love - April 2021Don't Drop ACID - Data Love - April 2021
Don't Drop ACID - Data Love - April 2021
Matthew Groves
 
Geek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure EnvironmentsGeek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure Environments
IDERA Software
 
How would ESBs look like, if they were done today.
How would ESBs look like, if they were done today.How would ESBs look like, if they were done today.
How would ESBs look like, if they were done today.
Markus Eisele
 
Why real integration developers ride Camels
Why real integration developers ride CamelsWhy real integration developers ride Camels
Why real integration developers ride Camels
Christian Posta
 
SSIS Monitoring Deep Dive
SSIS Monitoring Deep DiveSSIS Monitoring Deep Dive
SSIS Monitoring Deep Dive
Davide Mauri
 
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
NCCOMMS
 
SQL PASS BAC - 60 reporting tips in 60 minutes
SQL PASS BAC - 60 reporting tips in 60 minutesSQL PASS BAC - 60 reporting tips in 60 minutes
SQL PASS BAC - 60 reporting tips in 60 minutes
Ike Ellis
 
SQL Server & SQL Azure Temporal Tables - V2
SQL Server & SQL Azure Temporal Tables - V2SQL Server & SQL Azure Temporal Tables - V2
SQL Server & SQL Azure Temporal Tables - V2
Davide Mauri
 
Azure SQL & SQL Server 2016 JSON
Azure SQL & SQL Server 2016 JSONAzure SQL & SQL Server 2016 JSON
Azure SQL & SQL Server 2016 JSON
Davide Mauri
 
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
Jon Peck
 
SQL Server 2016 What's New For Developers
SQL Server 2016  What's New For DevelopersSQL Server 2016  What's New For Developers
SQL Server 2016 What's New For Developers
Davide Mauri
 
A lap around microsofts business intelligence platform
A lap around microsofts business intelligence platformA lap around microsofts business intelligence platform
A lap around microsofts business intelligence platform
Ike Ellis
 
DEV03 - How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Real...
DEV03 - How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Real...DEV03 - How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Real...
DEV03 - How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Real...
Frank van der Linden
 
Scaling up to 30M users - The Wix Story
Scaling up to 30M users - The Wix StoryScaling up to 30M users - The Wix Story
Scaling up to 30M users - The Wix Story
Aviran Mordo
 
MongoDB Days UK: Using MongoDB to Build a Fast and Scalable Content Repositor...
MongoDB Days UK: Using MongoDB to Build a Fast and Scalable Content Repositor...MongoDB Days UK: Using MongoDB to Build a Fast and Scalable Content Repositor...
MongoDB Days UK: Using MongoDB to Build a Fast and Scalable Content Repositor...
MongoDB
 
An evolution of application networking: service mesh
An evolution of application networking: service meshAn evolution of application networking: service mesh
An evolution of application networking: service mesh
Christian Posta
 
Gradual migration to MicroProfile
Gradual migration to MicroProfileGradual migration to MicroProfile
Gradual migration to MicroProfile
Rudy De Busscher
 
Geek Sync | Top 5 Tips to Keep Always On Always Humming and Users Happy
Geek Sync | Top 5 Tips to Keep Always On Always Humming and Users HappyGeek Sync | Top 5 Tips to Keep Always On Always Humming and Users Happy
Geek Sync | Top 5 Tips to Keep Always On Always Humming and Users Happy
IDERA Software
 
Secure JAX-RS
Secure JAX-RSSecure JAX-RS
Secure JAX-RS
Payara
 
Porting ASP.NET applications to Windows Azure
Porting ASP.NET applications to Windows AzurePorting ASP.NET applications to Windows Azure
Porting ASP.NET applications to Windows Azure
Gunnar Peipman
 
Don't Drop ACID - Data Love - April 2021
Don't Drop ACID - Data Love - April 2021Don't Drop ACID - Data Love - April 2021
Don't Drop ACID - Data Love - April 2021
Matthew Groves
 
Geek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure EnvironmentsGeek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure Environments
IDERA Software
 
How would ESBs look like, if they were done today.
How would ESBs look like, if they were done today.How would ESBs look like, if they were done today.
How would ESBs look like, if they were done today.
Markus Eisele
 
Why real integration developers ride Camels
Why real integration developers ride CamelsWhy real integration developers ride Camels
Why real integration developers ride Camels
Christian Posta
 

Similar to SSIS Monitoring Deep Dive (20)

SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4
Gianluca Hotz
 
KYSUC - Keep Your Schema Under Control
KYSUC - Keep Your Schema Under ControlKYSUC - Keep Your Schema Under Control
KYSUC - Keep Your Schema Under Control
Coimbra JUG
 
SQLSaturday 664 - Troubleshoot SQL Server performance problems like a Microso...
SQLSaturday 664 - Troubleshoot SQL Server performance problems like a Microso...SQLSaturday 664 - Troubleshoot SQL Server performance problems like a Microso...
SQLSaturday 664 - Troubleshoot SQL Server performance problems like a Microso...
Marek Maśko
 
Bringing DevOps to the Database
Bringing DevOps to the DatabaseBringing DevOps to the Database
Bringing DevOps to the Database
Michaela Murray
 
Managing changes to eZPublish Database
Managing changes to eZPublish DatabaseManaging changes to eZPublish Database
Managing changes to eZPublish Database
Gaetano Giunta
 
Managing Changes to the Database Across the Project Life Cycle (presented by ...
Managing Changes to the Database Across the Project Life Cycle (presented by ...Managing Changes to the Database Across the Project Life Cycle (presented by ...
Managing Changes to the Database Across the Project Life Cycle (presented by ...
eZ Systems
 
Soccnx10: IBM Connections Troubleshooting or “Get the Cow off the Ice”
Soccnx10: IBM Connections Troubleshooting or “Get the Cow off the Ice”Soccnx10: IBM Connections Troubleshooting or “Get the Cow off the Ice”
Soccnx10: IBM Connections Troubleshooting or “Get the Cow off the Ice”
panagenda
 
Into The Box 2020 Keynote Day 1
Into The Box 2020 Keynote Day 1Into The Box 2020 Keynote Day 1
Into The Box 2020 Keynote Day 1
Ortus Solutions, Corp
 
Where to save my data, for devs!
Where to save my data, for devs!Where to save my data, for devs!
Where to save my data, for devs!
SharePoint Saturday New Jersey
 
Community day 2013 applied architectures
Community day 2013   applied architecturesCommunity day 2013   applied architectures
Community day 2013 applied architectures
Panagiotis Kefalidis
 
DMann-SQLDeveloper4Reporting
DMann-SQLDeveloper4ReportingDMann-SQLDeveloper4Reporting
DMann-SQLDeveloper4Reporting
David Mann
 
Web Tools for GemStone/S
Web Tools for GemStone/SWeb Tools for GemStone/S
Web Tools for GemStone/S
ESUG
 
Managing database project with Visual Studio SSDT and TFS
Managing database project with Visual Studio SSDT and TFSManaging database project with Visual Studio SSDT and TFS
Managing database project with Visual Studio SSDT and TFS
Harry Zheng
 
Scalability
ScalabilityScalability
Scalability
Daniel DiPaolo
 
Database continuous integration, unit test and functional test
Database continuous integration, unit test and functional testDatabase continuous integration, unit test and functional test
Database continuous integration, unit test and functional test
Harry Zheng
 
Splitgraph: AHL talk
Splitgraph: AHL talkSplitgraph: AHL talk
Splitgraph: AHL talk
Splitgraph
 
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
MariaDB 10.1   what's new and what's coming in 10.2 - Tokyo MariaDB MeetupMariaDB 10.1   what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
Colin Charles
 
Database Migrations with Gradle and Liquibase
Database Migrations with Gradle and LiquibaseDatabase Migrations with Gradle and Liquibase
Database Migrations with Gradle and Liquibase
Dan Stine
 
SilverStripe From a Developer's Perspective
SilverStripe From a Developer's PerspectiveSilverStripe From a Developer's Perspective
SilverStripe From a Developer's Perspective
ajshort
 
MIGRATION - PAIN OR GAIN?
MIGRATION - PAIN OR GAIN?MIGRATION - PAIN OR GAIN?
MIGRATION - PAIN OR GAIN?
DrupalCamp Kyiv
 
SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4
Gianluca Hotz
 
KYSUC - Keep Your Schema Under Control
KYSUC - Keep Your Schema Under ControlKYSUC - Keep Your Schema Under Control
KYSUC - Keep Your Schema Under Control
Coimbra JUG
 
SQLSaturday 664 - Troubleshoot SQL Server performance problems like a Microso...
SQLSaturday 664 - Troubleshoot SQL Server performance problems like a Microso...SQLSaturday 664 - Troubleshoot SQL Server performance problems like a Microso...
SQLSaturday 664 - Troubleshoot SQL Server performance problems like a Microso...
Marek Maśko
 
Bringing DevOps to the Database
Bringing DevOps to the DatabaseBringing DevOps to the Database
Bringing DevOps to the Database
Michaela Murray
 
Managing changes to eZPublish Database
Managing changes to eZPublish DatabaseManaging changes to eZPublish Database
Managing changes to eZPublish Database
Gaetano Giunta
 
Managing Changes to the Database Across the Project Life Cycle (presented by ...
Managing Changes to the Database Across the Project Life Cycle (presented by ...Managing Changes to the Database Across the Project Life Cycle (presented by ...
Managing Changes to the Database Across the Project Life Cycle (presented by ...
eZ Systems
 
Soccnx10: IBM Connections Troubleshooting or “Get the Cow off the Ice”
Soccnx10: IBM Connections Troubleshooting or “Get the Cow off the Ice”Soccnx10: IBM Connections Troubleshooting or “Get the Cow off the Ice”
Soccnx10: IBM Connections Troubleshooting or “Get the Cow off the Ice”
panagenda
 
Community day 2013 applied architectures
Community day 2013   applied architecturesCommunity day 2013   applied architectures
Community day 2013 applied architectures
Panagiotis Kefalidis
 
DMann-SQLDeveloper4Reporting
DMann-SQLDeveloper4ReportingDMann-SQLDeveloper4Reporting
DMann-SQLDeveloper4Reporting
David Mann
 
Web Tools for GemStone/S
Web Tools for GemStone/SWeb Tools for GemStone/S
Web Tools for GemStone/S
ESUG
 
Managing database project with Visual Studio SSDT and TFS
Managing database project with Visual Studio SSDT and TFSManaging database project with Visual Studio SSDT and TFS
Managing database project with Visual Studio SSDT and TFS
Harry Zheng
 
Database continuous integration, unit test and functional test
Database continuous integration, unit test and functional testDatabase continuous integration, unit test and functional test
Database continuous integration, unit test and functional test
Harry Zheng
 
Splitgraph: AHL talk
Splitgraph: AHL talkSplitgraph: AHL talk
Splitgraph: AHL talk
Splitgraph
 
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
MariaDB 10.1   what's new and what's coming in 10.2 - Tokyo MariaDB MeetupMariaDB 10.1   what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
Colin Charles
 
Database Migrations with Gradle and Liquibase
Database Migrations with Gradle and LiquibaseDatabase Migrations with Gradle and Liquibase
Database Migrations with Gradle and Liquibase
Dan Stine
 
SilverStripe From a Developer's Perspective
SilverStripe From a Developer's PerspectiveSilverStripe From a Developer's Perspective
SilverStripe From a Developer's Perspective
ajshort
 
MIGRATION - PAIN OR GAIN?
MIGRATION - PAIN OR GAIN?MIGRATION - PAIN OR GAIN?
MIGRATION - PAIN OR GAIN?
DrupalCamp Kyiv
 
Ad

Recently uploaded (20)

Cleaned_Lecture 6666666_Simulation_I.pdf
Cleaned_Lecture 6666666_Simulation_I.pdfCleaned_Lecture 6666666_Simulation_I.pdf
Cleaned_Lecture 6666666_Simulation_I.pdf
alcinialbob1234
 
Ppt. Nikhil.pptxnshwuudgcudisisshvehsjks
Ppt. Nikhil.pptxnshwuudgcudisisshvehsjksPpt. Nikhil.pptxnshwuudgcudisisshvehsjks
Ppt. Nikhil.pptxnshwuudgcudisisshvehsjks
panchariyasahil
 
04302025_CCC TUG_DataVista: The Design Story
04302025_CCC TUG_DataVista: The Design Story04302025_CCC TUG_DataVista: The Design Story
04302025_CCC TUG_DataVista: The Design Story
ccctableauusergroup
 
DPR_Expert_Recruitment_notice_Revised.pdf
DPR_Expert_Recruitment_notice_Revised.pdfDPR_Expert_Recruitment_notice_Revised.pdf
DPR_Expert_Recruitment_notice_Revised.pdf
inmishra17121973
 
EDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbb
EDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbbEDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbb
EDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbb
JessaMaeEvangelista2
 
FPET_Implementation_2_MA to 360 Engage Direct.pptx
FPET_Implementation_2_MA to 360 Engage Direct.pptxFPET_Implementation_2_MA to 360 Engage Direct.pptx
FPET_Implementation_2_MA to 360 Engage Direct.pptx
ssuser4ef83d
 
chapter3 Central Tendency statistics.ppt
chapter3 Central Tendency statistics.pptchapter3 Central Tendency statistics.ppt
chapter3 Central Tendency statistics.ppt
justinebandajbn
 
How to join illuminati Agent in uganda call+256776963507/0741506136
How to join illuminati Agent in uganda call+256776963507/0741506136How to join illuminati Agent in uganda call+256776963507/0741506136
How to join illuminati Agent in uganda call+256776963507/0741506136
illuminati Agent uganda call+256776963507/0741506136
 
chapter 4 Variability statistical research .pptx
chapter 4 Variability statistical research .pptxchapter 4 Variability statistical research .pptx
chapter 4 Variability statistical research .pptx
justinebandajbn
 
How iCode cybertech Helped Me Recover My Lost Funds
How iCode cybertech Helped Me Recover My Lost FundsHow iCode cybertech Helped Me Recover My Lost Funds
How iCode cybertech Helped Me Recover My Lost Funds
ireneschmid345
 
Data Analytics Overview and its applications
Data Analytics Overview and its applicationsData Analytics Overview and its applications
Data Analytics Overview and its applications
JanmejayaMishra7
 
Deloitte Analytics - Applying Process Mining in an audit context
Deloitte Analytics - Applying Process Mining in an audit contextDeloitte Analytics - Applying Process Mining in an audit context
Deloitte Analytics - Applying Process Mining in an audit context
Process mining Evangelist
 
Minions Want to eat presentacion muy linda
Minions Want to eat presentacion muy lindaMinions Want to eat presentacion muy linda
Minions Want to eat presentacion muy linda
CarlaAndradesSoler1
 
AI Competitor Analysis: How to Monitor and Outperform Your Competitors
AI Competitor Analysis: How to Monitor and Outperform Your CompetitorsAI Competitor Analysis: How to Monitor and Outperform Your Competitors
AI Competitor Analysis: How to Monitor and Outperform Your Competitors
Contify
 
Perencanaan Pengendalian-Proyek-Konstruksi-MS-PROJECT.pptx
Perencanaan Pengendalian-Proyek-Konstruksi-MS-PROJECT.pptxPerencanaan Pengendalian-Proyek-Konstruksi-MS-PROJECT.pptx
Perencanaan Pengendalian-Proyek-Konstruksi-MS-PROJECT.pptx
PareaRusan
 
GenAI for Quant Analytics: survey-analytics.ai
GenAI for Quant Analytics: survey-analytics.aiGenAI for Quant Analytics: survey-analytics.ai
GenAI for Quant Analytics: survey-analytics.ai
Inspirient
 
Just-In-Timeasdfffffffghhhhhhhhhhj Systems.ppt
Just-In-Timeasdfffffffghhhhhhhhhhj Systems.pptJust-In-Timeasdfffffffghhhhhhhhhhj Systems.ppt
Just-In-Timeasdfffffffghhhhhhhhhhj Systems.ppt
ssuser5f8f49
 
Template_A3nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
Template_A3nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnTemplate_A3nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
Template_A3nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
cegiver630
 
Stack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptxStack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptx
binduraniha86
 
Developing Security Orchestration, Automation, and Response Applications
Developing Security Orchestration, Automation, and Response ApplicationsDeveloping Security Orchestration, Automation, and Response Applications
Developing Security Orchestration, Automation, and Response Applications
VICTOR MAESTRE RAMIREZ
 
Cleaned_Lecture 6666666_Simulation_I.pdf
Cleaned_Lecture 6666666_Simulation_I.pdfCleaned_Lecture 6666666_Simulation_I.pdf
Cleaned_Lecture 6666666_Simulation_I.pdf
alcinialbob1234
 
Ppt. Nikhil.pptxnshwuudgcudisisshvehsjks
Ppt. Nikhil.pptxnshwuudgcudisisshvehsjksPpt. Nikhil.pptxnshwuudgcudisisshvehsjks
Ppt. Nikhil.pptxnshwuudgcudisisshvehsjks
panchariyasahil
 
04302025_CCC TUG_DataVista: The Design Story
04302025_CCC TUG_DataVista: The Design Story04302025_CCC TUG_DataVista: The Design Story
04302025_CCC TUG_DataVista: The Design Story
ccctableauusergroup
 
DPR_Expert_Recruitment_notice_Revised.pdf
DPR_Expert_Recruitment_notice_Revised.pdfDPR_Expert_Recruitment_notice_Revised.pdf
DPR_Expert_Recruitment_notice_Revised.pdf
inmishra17121973
 
EDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbb
EDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbbEDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbb
EDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbb
JessaMaeEvangelista2
 
FPET_Implementation_2_MA to 360 Engage Direct.pptx
FPET_Implementation_2_MA to 360 Engage Direct.pptxFPET_Implementation_2_MA to 360 Engage Direct.pptx
FPET_Implementation_2_MA to 360 Engage Direct.pptx
ssuser4ef83d
 
chapter3 Central Tendency statistics.ppt
chapter3 Central Tendency statistics.pptchapter3 Central Tendency statistics.ppt
chapter3 Central Tendency statistics.ppt
justinebandajbn
 
chapter 4 Variability statistical research .pptx
chapter 4 Variability statistical research .pptxchapter 4 Variability statistical research .pptx
chapter 4 Variability statistical research .pptx
justinebandajbn
 
How iCode cybertech Helped Me Recover My Lost Funds
How iCode cybertech Helped Me Recover My Lost FundsHow iCode cybertech Helped Me Recover My Lost Funds
How iCode cybertech Helped Me Recover My Lost Funds
ireneschmid345
 
Data Analytics Overview and its applications
Data Analytics Overview and its applicationsData Analytics Overview and its applications
Data Analytics Overview and its applications
JanmejayaMishra7
 
Deloitte Analytics - Applying Process Mining in an audit context
Deloitte Analytics - Applying Process Mining in an audit contextDeloitte Analytics - Applying Process Mining in an audit context
Deloitte Analytics - Applying Process Mining in an audit context
Process mining Evangelist
 
Minions Want to eat presentacion muy linda
Minions Want to eat presentacion muy lindaMinions Want to eat presentacion muy linda
Minions Want to eat presentacion muy linda
CarlaAndradesSoler1
 
AI Competitor Analysis: How to Monitor and Outperform Your Competitors
AI Competitor Analysis: How to Monitor and Outperform Your CompetitorsAI Competitor Analysis: How to Monitor and Outperform Your Competitors
AI Competitor Analysis: How to Monitor and Outperform Your Competitors
Contify
 
Perencanaan Pengendalian-Proyek-Konstruksi-MS-PROJECT.pptx
Perencanaan Pengendalian-Proyek-Konstruksi-MS-PROJECT.pptxPerencanaan Pengendalian-Proyek-Konstruksi-MS-PROJECT.pptx
Perencanaan Pengendalian-Proyek-Konstruksi-MS-PROJECT.pptx
PareaRusan
 
GenAI for Quant Analytics: survey-analytics.ai
GenAI for Quant Analytics: survey-analytics.aiGenAI for Quant Analytics: survey-analytics.ai
GenAI for Quant Analytics: survey-analytics.ai
Inspirient
 
Just-In-Timeasdfffffffghhhhhhhhhhj Systems.ppt
Just-In-Timeasdfffffffghhhhhhhhhhj Systems.pptJust-In-Timeasdfffffffghhhhhhhhhhj Systems.ppt
Just-In-Timeasdfffffffghhhhhhhhhhj Systems.ppt
ssuser5f8f49
 
Template_A3nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
Template_A3nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnTemplate_A3nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
Template_A3nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
cegiver630
 
Stack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptxStack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptx
binduraniha86
 
Developing Security Orchestration, Automation, and Response Applications
Developing Security Orchestration, Automation, and Response ApplicationsDeveloping Security Orchestration, Automation, and Response Applications
Developing Security Orchestration, Automation, and Response Applications
VICTOR MAESTRE RAMIREZ
 
Ad

SSIS Monitoring Deep Dive

  • 1. SSIS Monitoring Deep Dive Davide Mauri @mauridb [email protected]
  • 2. Davide Mauri • Microsoft SQL Server MVP • Works with SQL Server from 6.5, on BI from 2003 • Specialized in Data Solution Architecture, Database Design, Performance Tuning, High-Performance Data Warehousing, BI, Big Data • President of UGISS (Italian SQL Server UG) • Regular Speaker @ SQL Server events • Consulting & Training, Mentor @ SolidQ • E-mail: [email protected] • Twitter: @mauridb • Blog: http://sqlblog.com/blogs/davide_mauri/default.aspx
  • 3. Agenda • Deep Dive into SSISDB Log-Related Catalog • Logging Levels • Building a Dashboard • Native Solutions • 3rd Community Party Solutions • My Solutions: • HTML 5 • Power BI
  • 4. Notice to SSIS Men • Everything said here works for SQL Server 2012 and over and applies to the Project Deployment Model *only* • If you’re sill using the Package Deployment model… • …change it! It’s OLD! • And even O.L.D.: Omitted Log Data
  • 5. SSISDB – SSIS Catalog • Contains *everything* needed to run, manage and monitor SSIS Packages • (only when using the “Project Deployment Model”) • “internal” schema := private API/Objects, for MS use only • “catalog” schema := public, supported, API/Objects
  • 6. SSIS Server Package Execution • Each time a Package is executed: • Create Package Execution “context” • Set Execution Parameters Values • Execute the Package
  • 7. SSIS Server Package Execution Logging • Logs and Execution Statistics are written to several tables • catalog.executable • catalog.executable_statistic • catalog.event_messages • catalog.operations, catalog.operation_messages • The execution_id binds everything together Named “operation_id” sometimes because event_messages is an extension of operation_messages
  • 8. SSIS Server Package Logging Levels • Logging is automatically performed by the server • None: Logging is turned off. Only the package execution status is logged. • Basic: (Default) All events are logged, except custom and diagnostic events. • Performance: Only performance statistics, and OnError and OnWarning events, are logged. • Verbose: All events are logged, including custom and diagnostic events, including the DiagnosticEx event. • Of course, logging level can be changed at execution-time, no special design patterns needed
  • 9. Reference Solution Used for Tests • Master, Child, Child case • Master and Child have objects with same name • Master and Child have loops • Master and Child have parallel executions • Package and Projects connection managers have the same name • Package and Project Parameters • Scripts (Dts.Events.FireInformation) logging via Script Task • DataFlows
  • 11. Before Execution • Where data is stored in the SSISDB? • Especially interesting the parameter and connection managers configured and default values • They will be useful to have the complete execution context when doing log analysis
  • 12. Demo
  • 13. Package Execution Created (1) Pending (5) Running (2) Stopping (8) Canceled (3) Success (7) Completed (9) Failed (4) Unexpected Termination / Crash (6) catalog.start_execution catalog.create_execution catalog.stop_operation ISServerExec Unexpected Crash
  • 14. Logging “None” • Really means “Minimal” • No logged events, but still some data is logged in some “basic” log tables : • catalog.executions • catalog.execution_property_override_values • catalog.execution_parameter_values • catalog.executables • catalog.executable_statistics • Log-Like table
  • 15. Logging “Basic” • Default Option • Data Available in “basic” log tables and • catalog.event_messages • Logged Events: • OnError, OnInformation, OnPostExecute, OnPostValidate, OnPreExecute, OnPreValidate, OnWarning • No specific information on related to DataFlow
  • 16. Logging “Performance” • Data Available in “basic” log tables and • catalog.event_messages • Logged Events: • OnError, OnWarning • Additional specific information on component “phases” • catalog.execution_component_phases • No specific information on related to DataFlow
  • 17. Logging “Verbose” • Like Basic and Perfomance together PLUS DataFlow details • DataFlow is logged in detail to catalog.execution_data_statistics • Logged Events • All! • Even Diagnostic and Custom log messages (Dts.Events.FireCustom) • Logging in event_messages is something like 100X more verbose • Hence the name 
  • 18. Logging “Custom” • Available only in SSIS 2016 • You can decide your own logging level…like • Performance + • OnInformation + • Data Flow
  • 19. Demo
  • 20. Something to keep in mind • Dataflow logs some interesting data as a text message only • Lookup Duplicate Rows warning • Memory Warning • Memory Allocation • Low Virtual Memory • Rows sent to each destination • Verbose is just to verbose, but we still want some DataFlow logging
  • 21. Demo
  • 22. Building a Dashboard - Native • Natively Available • Basic User Experience • “It just works” • Not really a dashboard
  • 23. 3Rd Party Community Project • SSIS Reporting Pack (by Jamie Thomson) • No more maintained (AFAIK) • Provides more than reporting • usp_ssiscatalog http://ssisreportingpack.codeplex.com/
  • 24. HTML5 • Based on • HTML 5 / CSS 3 • Bootstrap • jQuery, Morris.Js, MetisMenu • Python + Flask • Code on GitHub • https://github.com/yorek/ssis-queries • https://github.com/yorek/ssis-dashboard
  • 25. HTML5
  • 26. HTML5 • An even more powerful version has been created by @niphlod here • https://github.com/niphlod/ssis_dash • Still based on Python • But moved from Flask To Web2Py • Supports security, authentication and authorization • Can monitor more than one SSISDB instance • …much more  • Very cool!
  • 27. PowerBI • Using PowerBI Desktop it is really easy to create a nice SSIS Dashboard • If you don’t have problems sending data to the Azure cloud, you can also move the Dashboard to the PowerBI Service • And use SSIS or Azure Data Factory or PowerBI Data Gateway to keep data in Azure updated
  • 28. One last note • Due to how security is applied in SSIS, if you’re not sysadmin or ssis_admin queries can be *really* *really* slow • Each row is under custom row security, using certificates • *A lot of certificates* needs to be open and used: One for each Execution!!!! • SQL Server 2012 SP2 fix this by allowing you to do it on project-basis instead of Execition-basis • https://support.microsoft.com/en-us/kb/2972285 • A *unsupported* workaround is to fix the [internal].[current_user_object_permissions] procedure, avoiding the usage of the scalar function [get_principal_id_by_sid], use a JOIN instead

Editor's Notes

  • #3: Overview SSISDB Diversi livelli di logging Estrazione infomrazione log dalle tabelle del SSISDB Master-Child Estrazione Info errori Estrazione ifo esecuzione (variabili, environment) Data Tap
  • #11: Describe the test solution, and deploy it
  • #13: Deploy & Configure (with and without environments)
  • #15: catalog.executable_statistics is the nearest thing to a log. Rows are added during package execution. The other tables are filled with rows *BEFORE* package starts the run phase
  • #20: Logging levels demo
  • #22: Extract DataFlow interesting data from event_messages