SQL SERVER DAYS 2012
SSIS & CDC IN SQL SERVER 2012
the perfect marriage




koen verbeeck
BI consultant
WHO AM I?
OUTLINE
• introduction to change data capture + demo

• control flow tasks+ demo

• data flow components+ demo

• Oracle as a source

• conclusion
INTRODUCTION
• change data capture (CDC)
  • designed to capture insert/update/delete data
    o make it available in “easily consumed” relational format
    o pretty much DIY in TSQL


  • introduced in SQL Server 2008
    o technically hasn’t changed in SQL Server 2012


  • alternative for change tracking

  • typically used in data warehouse scenarios
    o speed up extraction by incremental loads


• why?
  • more data everyday
  • less time to process it
    o full load vs. incremental load
INTRODUCTION
• CDC versus change tracking



                       CDC                    change tracking
 which changes?        insert/update/delete   insert/update/delete
 shows type of DML?    yes                    yes
 methodology?          asynchronous           synchronous
 column changed?       yes                    yes
 historical data?      yes                    no
 editions?             Enterprise only        all
DEMO
• showcase “2008” CDC
OUTLINE
• introduction to change data capture + demo

• control flow tasks+ demo

• data flow components+ demo

• Oracle as a source

• conclusion
CONTROL FLOW TASKS
• CDC control task

  • controls lifecycle of CDC packages
    o handles initial load synchronization
    o management of LSN ranges
    o error scenarios and recovery


  • stores state in SSIS variable and
    in database table

  • two operations
    o initial load
    o incremental load
DEMO
• initial load package
CONTROL FLOW TASKS
• initial load package




• also possible from snapshot
OUTLINE
• introduction to change data capture + demo

• control flow tasks+ demo

• data flow components+ demo

• Oracle as a source

• conclusion
DATA FLOW COMPONENTS
• CDC source
  • reads a range of change data
  • all / net changes
    o and everything in between
DATA FLOW COMPONENTS
• CDC splitter
  • basically a conditional split on steroids
    o … but without a GUI
  • splits flow of changed data into
    inserts, updates and deletes
  • do not combine with ALL CDC processing mode
    o order between operations is lost
DEMO
• incremental load package
DATA FLOW COMPONENTS
• incremental load package




• remember to run it twice…
  • use the __$reprocessing column to identify rows in need of attention
OUTLINE
• introduction to change data capture + demo

• control flow tasks+ demo

• data flow components+ demo

• Oracle as a source

• conclusion
ORACLE AS A SOURCE
• Oracle CDC components by Attunity
  • not installed by default
  • can be found on installation media /Tools/AttunityCDCOracle


                      CDC Designer




                                     CDC Service                          mirror   cdc
          log miner




                         figure modeled after slide of Matt Masson [16]
ORACLE AS A SOURCE
• Oracle CDC Service
  • prepare SQL Server
    o creates MSXDBCDC database + objects
  • local system account
    o logon as a policy permission
  • CDC service master password
    o used to encrypt Oracle credentials
  • one service per Oracle DB
ORACLE AS A SOURCE
• Oracle CDC Designer
  • create and manage CDC instances
    o multiple instances per service possible
  • contains
    o Oracle DB info
    o tables and columns being tracked
    o mirroring info
OUTLINE
• introduction to change data capture + demo

• control flow tasks+ demo

• data flow components+ demo

• Oracle as a source

• conclusion
CONCLUSION
• no new technical enhancements
• enhancements are on manageability level
  • provided by Attunity
• new SSIS tasks/components
  • CDC control task
  • CDC source
  • CDC splitter
• two types of packages
  • initial load
  • incremental load
  • remember the __$reprocessing column
• possible to use Oracle as CDC source
  • CDC service & designer
RESOURCES
• CDC 2008 & Change Tracking
  • [1] MSDN - Change Data Capture
    http://msdn.microsoft.com/en-us/library/bb522489(v=sql.105).aspx
  • [2] MSDN - Comparing Change Data Capture and Change Tracking
    http://msdn.microsoft.com/en-us/library/cc280519(v=sql.105).aspx
  • [3] Kendra Little - Change Data Capture vs Change Tracking
    http://www.littlekendra.com/2010/06/23/cdcvsct/


• CDC & SSIS 2012
  • [4] MSDN - CDC Control Task
    http://msdn.microsoft.com/en-us/library/hh758674.aspx
  • [5] MSDN - CDC Source
    http://msdn.microsoft.com/en-us/library/hh758686.aspx
  • [6] MSDN - CDC Splitter
    http://msdn.microsoft.com/en-us/library/hh758656.aspx
  • [7] MSDN - CDC Flow Components
    http://msdn.microsoft.com/en-us/library/hh231087.aspx
  • [8] MSDN - Define a State Variable
    http://msdn.microsoft.com/en-us/library/hh758667
  • [9] Allan Mitchell - SSIS CDC Processing Mode Not Updating Flag Attributes
    http://copperblueblog.com/2012/06/06/ssis-cdc-processing-mode-not-updating-flag-attributes/
RESOURCES
• CDC & SSIS 2012 (continued)
  • [10] Allan Mitchell - CDC Package Needs Executing Twice
   http://copperblueblog.com/2012/06/06/ssis-change-data-capture-cdc-package-needs-executing-twice/
  • [11] Allan Mitchell - Changes Made To Source During Full Load
   http://copperblueblog.com/2012/06/07/ssis-cdc-changes-made-to-source-during-full-load/
  • [12] Allan Mitchell - Batch Sizes, Fast Load, Commit Size And The OLE
    DB Destination
   http://copperblueblog.com/2012/10/02/batch-sizes-fast-load-commit-size-and-the-ole-db-destination/
  • [13] Matt Masson - CDC in SSIS for SQL Server 2012
   http://www.mattmasson.com/index.php/2011/12/cdc-in-ssis-for-sql-server-2012-2/
  • [14] Matt Masson - CDC Control Task Operations
   http://www.mattmasson.com/index.php/2012/02/cdc-control-task-operations/
  • [15] Matt Masson - Processing Modes for the CDC Source
   http://www.mattmasson.com/index.php/2012/01/processing-modes-for-the-cdc-source/
  • [16] Channel9 - TechEd North America (Matt Masson) - Incremental ETL Using CDC
    for SQL and Oracle with SQL Server Integration Services (SSIS) 2012
   http://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/DBI322
RESOURCES
• CDC & Oracle
  • [17] TechNet Wiki - Installing Microsoft SQL Server 2012 Change Data Capture
    for Oracle by Attunity
   http://social.technet.microsoft.com/wiki/contents/articles/7647.installing-microsoft-sql-server-
   2012-change-data-capture-for-oracle-by-attunity.aspx
  • [18] SSIS blog MSDN - CDC for Oracle in SQL Server 2012
   http://blogs.msdn.com/b/mattm/archive/2012/03/26/cdc-for-oracle-in-sql-server-2012.aspx
  • [19] SSIS blog MSDN - Video about CDC for Oracle Databases in SSIS 2012
   http://blogs.msdn.com/b/mattm/archive/2012/07/10/video-about-cdc-for-oracle-databases-in-
   ssis-2012.aspx
Q&A
THANK YOU




    koen.verbeeck@ordina.be
    @Ko_Ver
    http://www.linkedin.com/in/kverbeeck




Partner Logo Here
                                           26

More Related Content

PPTX
SQL Tuning made easier with SQLTXPLAIN (SQLT)
PPTX
Understanding How is that Adaptive Cursor Sharing (ACS) produces multiple Opt...
PPTX
SQLT XPLORE: The SQLT XPLAIN hidden child
PDF
Oracle 21c: New Features and Enhancements of Data Pump & TTS
PPSX
Introducing the eDB360 Tool
PDF
OTN TOUR 2016 - Oracle Database 12c - The Best Oracle Database 12c New Featur...
PPSX
How a Developer can Troubleshoot a SQL performing poorly on a Production DB
PPTX
Liquibase for java developers
SQL Tuning made easier with SQLTXPLAIN (SQLT)
Understanding How is that Adaptive Cursor Sharing (ACS) produces multiple Opt...
SQLT XPLORE: The SQLT XPLAIN hidden child
Oracle 21c: New Features and Enhancements of Data Pump & TTS
Introducing the eDB360 Tool
OTN TOUR 2016 - Oracle Database 12c - The Best Oracle Database 12c New Featur...
How a Developer can Troubleshoot a SQL performing poorly on a Production DB
Liquibase for java developers

What's hot (20)

PPTX
Adapting and adopting spm v04
PDF
Liquibase - Open Source version control for your database
PPTX
Hitchhiker's Guide to free Oracle tuning tools
PPTX
Oem12c patching -OOW13
PDF
Oracle database 12c intro
PPSX
Oracle Performance Tools of the Trade
PPSX
Oracle Performance Tuning Fundamentals
PDF
Oracle RAC 12c and Policy-Managed Databases, a Technical Overview
PPTX
SQL Tuning 101
PPTX
OEM12c, DB12c and You! - RMOUG TD2014 Edition
PPTX
Performance Management in Oracle 12c
PPTX
Oracle Database 12c - New Features for Developers and DBAs
PDF
Oracle GoldenGate DB2 to Oracle11gR2 Configuration
PDF
OUG Ireland Meet-up - Updates from Oracle Open World 2016
PPTX
Understanding SQL Trace, TKPROF and Execution Plan for beginners
PDF
OOW 17 - database consolidation using the oracle multitenant architecture
PPSX
Introducing the eDB360 Tool
PDF
Extreme Replication - RMOUG Presentation
PDF
Welcome to databases in the Cloud
PDF
IOUG Data Integration SIG w/ Oracle GoldenGate Solutions and Configuration
Adapting and adopting spm v04
Liquibase - Open Source version control for your database
Hitchhiker's Guide to free Oracle tuning tools
Oem12c patching -OOW13
Oracle database 12c intro
Oracle Performance Tools of the Trade
Oracle Performance Tuning Fundamentals
Oracle RAC 12c and Policy-Managed Databases, a Technical Overview
SQL Tuning 101
OEM12c, DB12c and You! - RMOUG TD2014 Edition
Performance Management in Oracle 12c
Oracle Database 12c - New Features for Developers and DBAs
Oracle GoldenGate DB2 to Oracle11gR2 Configuration
OUG Ireland Meet-up - Updates from Oracle Open World 2016
Understanding SQL Trace, TKPROF and Execution Plan for beginners
OOW 17 - database consolidation using the oracle multitenant architecture
Introducing the eDB360 Tool
Extreme Replication - RMOUG Presentation
Welcome to databases in the Cloud
IOUG Data Integration SIG w/ Oracle GoldenGate Solutions and Configuration
Ad

Similar to SQLServerDays2012_SSIS_CDC (20)

PDF
COUG_AAbate_Oracle_Database_12c_New_Features
PDF
Performance Stability, Tips and Tricks and Underscores
PPTX
What's new in SQL Server Integration Services 2012?
PPTX
Data stage Online Training
PPTX
Manageability Enhancements of SQL Server 2012
PPTX
Copy Data Management for the DBA
PPTX
Triple C - Centralize, Cloudify and Consolidate Dozens of Oracle Databases (O...
PDF
OUG Harmony 2012 - Using SQL Plan Baselines for Performance Testing
PPTX
OOW13 Exadata and ODI with Parallel
PPTX
Denver SQL Saturday The Next Frontier
PDF
Oracle Enterprise Manager 12c: updates and upgrades.
PPTX
Data Stream Processing for Beginners with Kafka and CDC
PPTX
Sql dba 2008 r2 online training
PDF
10 Tips for Successful 12.2 Upgrade
PPTX
ABCs of CDC with SSIS 2012
PPTX
Sql server 2012 dba online training
PPTX
Project oriented online realtime training on sql
PPTX
Live sql server 2012 dba online training
PPTX
Capture Change and Apply It!
PDF
Expert performance tuning tips for Oracle RAC
COUG_AAbate_Oracle_Database_12c_New_Features
Performance Stability, Tips and Tricks and Underscores
What's new in SQL Server Integration Services 2012?
Data stage Online Training
Manageability Enhancements of SQL Server 2012
Copy Data Management for the DBA
Triple C - Centralize, Cloudify and Consolidate Dozens of Oracle Databases (O...
OUG Harmony 2012 - Using SQL Plan Baselines for Performance Testing
OOW13 Exadata and ODI with Parallel
Denver SQL Saturday The Next Frontier
Oracle Enterprise Manager 12c: updates and upgrades.
Data Stream Processing for Beginners with Kafka and CDC
Sql dba 2008 r2 online training
10 Tips for Successful 12.2 Upgrade
ABCs of CDC with SSIS 2012
Sql server 2012 dba online training
Project oriented online realtime training on sql
Live sql server 2012 dba online training
Capture Change and Apply It!
Expert performance tuning tips for Oracle RAC
Ad

Recently uploaded (20)

PDF
Peak of Data & AI Encore: Scalable Design & Infrastructure
PPTX
Rise of the Digital Control Grid Zeee Media and Hope and Tivon FTWProject.com
PDF
Examining Bias in AI Generated News Content.pdf
PDF
State of AI in Business 2025 - MIT NANDA
PDF
Rooftops detection with YOLOv8 from aerial imagery and a brief review on roof...
PDF
GDG Cloud Southlake #45: Patrick Debois: The Impact of GenAI on Development a...
PDF
Applying Agentic AI in Enterprise Automation
PPTX
maintenance powerrpoint for adaprive and preventive
PPTX
Strategic Picks — Prioritising the Right Agentic Use Cases [2/6]
PPTX
Introduction-to-Artificial-Intelligence (1).pptx
PDF
Advancements in abstractive text summarization: a deep learning approach
PDF
Decision Optimization - From Theory to Practice
PDF
The Basics of Artificial Intelligence - Understanding the Key Concepts and Te...
PDF
Secure Java Applications against Quantum Threats
PDF
Uncertainty-aware contextual multi-armed bandits for recommendations in e-com...
PDF
Revolutionizing recommendations a survey: a comprehensive exploration of mode...
PPT
Overviiew on Intellectual property right
PPTX
AQUEEL MUSHTAQUE FAKIH COMPUTER CENTER .
PDF
Introduction to c language from lecture slides
PDF
EGCB_Solar_Project_Presentation_and Finalcial Analysis.pdf
Peak of Data & AI Encore: Scalable Design & Infrastructure
Rise of the Digital Control Grid Zeee Media and Hope and Tivon FTWProject.com
Examining Bias in AI Generated News Content.pdf
State of AI in Business 2025 - MIT NANDA
Rooftops detection with YOLOv8 from aerial imagery and a brief review on roof...
GDG Cloud Southlake #45: Patrick Debois: The Impact of GenAI on Development a...
Applying Agentic AI in Enterprise Automation
maintenance powerrpoint for adaprive and preventive
Strategic Picks — Prioritising the Right Agentic Use Cases [2/6]
Introduction-to-Artificial-Intelligence (1).pptx
Advancements in abstractive text summarization: a deep learning approach
Decision Optimization - From Theory to Practice
The Basics of Artificial Intelligence - Understanding the Key Concepts and Te...
Secure Java Applications against Quantum Threats
Uncertainty-aware contextual multi-armed bandits for recommendations in e-com...
Revolutionizing recommendations a survey: a comprehensive exploration of mode...
Overviiew on Intellectual property right
AQUEEL MUSHTAQUE FAKIH COMPUTER CENTER .
Introduction to c language from lecture slides
EGCB_Solar_Project_Presentation_and Finalcial Analysis.pdf

SQLServerDays2012_SSIS_CDC

  • 1. SQL SERVER DAYS 2012 SSIS & CDC IN SQL SERVER 2012 the perfect marriage koen verbeeck BI consultant
  • 3. OUTLINE • introduction to change data capture + demo • control flow tasks+ demo • data flow components+ demo • Oracle as a source • conclusion
  • 4. INTRODUCTION • change data capture (CDC) • designed to capture insert/update/delete data o make it available in “easily consumed” relational format o pretty much DIY in TSQL • introduced in SQL Server 2008 o technically hasn’t changed in SQL Server 2012 • alternative for change tracking • typically used in data warehouse scenarios o speed up extraction by incremental loads • why? • more data everyday • less time to process it o full load vs. incremental load
  • 5. INTRODUCTION • CDC versus change tracking CDC change tracking which changes? insert/update/delete insert/update/delete shows type of DML? yes yes methodology? asynchronous synchronous column changed? yes yes historical data? yes no editions? Enterprise only all
  • 7. OUTLINE • introduction to change data capture + demo • control flow tasks+ demo • data flow components+ demo • Oracle as a source • conclusion
  • 8. CONTROL FLOW TASKS • CDC control task • controls lifecycle of CDC packages o handles initial load synchronization o management of LSN ranges o error scenarios and recovery • stores state in SSIS variable and in database table • two operations o initial load o incremental load
  • 10. CONTROL FLOW TASKS • initial load package • also possible from snapshot
  • 11. OUTLINE • introduction to change data capture + demo • control flow tasks+ demo • data flow components+ demo • Oracle as a source • conclusion
  • 12. DATA FLOW COMPONENTS • CDC source • reads a range of change data • all / net changes o and everything in between
  • 13. DATA FLOW COMPONENTS • CDC splitter • basically a conditional split on steroids o … but without a GUI • splits flow of changed data into inserts, updates and deletes • do not combine with ALL CDC processing mode o order between operations is lost
  • 15. DATA FLOW COMPONENTS • incremental load package • remember to run it twice… • use the __$reprocessing column to identify rows in need of attention
  • 16. OUTLINE • introduction to change data capture + demo • control flow tasks+ demo • data flow components+ demo • Oracle as a source • conclusion
  • 17. ORACLE AS A SOURCE • Oracle CDC components by Attunity • not installed by default • can be found on installation media /Tools/AttunityCDCOracle CDC Designer CDC Service mirror cdc log miner figure modeled after slide of Matt Masson [16]
  • 18. ORACLE AS A SOURCE • Oracle CDC Service • prepare SQL Server o creates MSXDBCDC database + objects • local system account o logon as a policy permission • CDC service master password o used to encrypt Oracle credentials • one service per Oracle DB
  • 19. ORACLE AS A SOURCE • Oracle CDC Designer • create and manage CDC instances o multiple instances per service possible • contains o Oracle DB info o tables and columns being tracked o mirroring info
  • 20. OUTLINE • introduction to change data capture + demo • control flow tasks+ demo • data flow components+ demo • Oracle as a source • conclusion
  • 21. CONCLUSION • no new technical enhancements • enhancements are on manageability level • provided by Attunity • new SSIS tasks/components • CDC control task • CDC source • CDC splitter • two types of packages • initial load • incremental load • remember the __$reprocessing column • possible to use Oracle as CDC source • CDC service & designer
  • 22. RESOURCES • CDC 2008 & Change Tracking • [1] MSDN - Change Data Capture http://msdn.microsoft.com/en-us/library/bb522489(v=sql.105).aspx • [2] MSDN - Comparing Change Data Capture and Change Tracking http://msdn.microsoft.com/en-us/library/cc280519(v=sql.105).aspx • [3] Kendra Little - Change Data Capture vs Change Tracking http://www.littlekendra.com/2010/06/23/cdcvsct/ • CDC & SSIS 2012 • [4] MSDN - CDC Control Task http://msdn.microsoft.com/en-us/library/hh758674.aspx • [5] MSDN - CDC Source http://msdn.microsoft.com/en-us/library/hh758686.aspx • [6] MSDN - CDC Splitter http://msdn.microsoft.com/en-us/library/hh758656.aspx • [7] MSDN - CDC Flow Components http://msdn.microsoft.com/en-us/library/hh231087.aspx • [8] MSDN - Define a State Variable http://msdn.microsoft.com/en-us/library/hh758667 • [9] Allan Mitchell - SSIS CDC Processing Mode Not Updating Flag Attributes http://copperblueblog.com/2012/06/06/ssis-cdc-processing-mode-not-updating-flag-attributes/
  • 23. RESOURCES • CDC & SSIS 2012 (continued) • [10] Allan Mitchell - CDC Package Needs Executing Twice http://copperblueblog.com/2012/06/06/ssis-change-data-capture-cdc-package-needs-executing-twice/ • [11] Allan Mitchell - Changes Made To Source During Full Load http://copperblueblog.com/2012/06/07/ssis-cdc-changes-made-to-source-during-full-load/ • [12] Allan Mitchell - Batch Sizes, Fast Load, Commit Size And The OLE DB Destination http://copperblueblog.com/2012/10/02/batch-sizes-fast-load-commit-size-and-the-ole-db-destination/ • [13] Matt Masson - CDC in SSIS for SQL Server 2012 http://www.mattmasson.com/index.php/2011/12/cdc-in-ssis-for-sql-server-2012-2/ • [14] Matt Masson - CDC Control Task Operations http://www.mattmasson.com/index.php/2012/02/cdc-control-task-operations/ • [15] Matt Masson - Processing Modes for the CDC Source http://www.mattmasson.com/index.php/2012/01/processing-modes-for-the-cdc-source/ • [16] Channel9 - TechEd North America (Matt Masson) - Incremental ETL Using CDC for SQL and Oracle with SQL Server Integration Services (SSIS) 2012 http://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/DBI322
  • 24. RESOURCES • CDC & Oracle • [17] TechNet Wiki - Installing Microsoft SQL Server 2012 Change Data Capture for Oracle by Attunity http://social.technet.microsoft.com/wiki/contents/articles/7647.installing-microsoft-sql-server- 2012-change-data-capture-for-oracle-by-attunity.aspx • [18] SSIS blog MSDN - CDC for Oracle in SQL Server 2012 http://blogs.msdn.com/b/mattm/archive/2012/03/26/cdc-for-oracle-in-sql-server-2012.aspx • [19] SSIS blog MSDN - Video about CDC for Oracle Databases in SSIS 2012 http://blogs.msdn.com/b/mattm/archive/2012/07/10/video-about-cdc-for-oracle-databases-in- ssis-2012.aspx
  • 25. Q&A
  • 26. THANK YOU [email protected] @Ko_Ver http://www.linkedin.com/in/kverbeeck Partner Logo Here 26