home  »  blogs  »  DevinKnight  »  Enabling Checkpoints in your SSIS Packages

To rate this blog entry please  register or login

Author

DevinKnight DevinKnight (Member since: 10/27/2009 11:25:07 AM)
Devin (MCTS) is a Senior BI consultant at Pragmatic Works Consulting. Previously, he has tech edited the book Professional Microsoft SQL Server 2008 Integration Services and was an author in the book Knight's 24-Hour Trainer: Microsoft SQL Server 2008 Integration Services. Devin has spoken at past conferences like PASS and at several SQL Saturday events. He is a contributing member to the Business Intelligence Special Interest Group (SIG) for PASS as a leader in the SSIS Focus Group. Making his home in Jacksonville, FL, Devin helps run his local users’ group (JSSUG) as a Vice President.

View DevinKnight 's profile

Comments (4)

  • MarkGStacey 1/23/2010 4:35:55 AM by:  MarkGStacey
    There are several things you need to be careful of when creating a package that can resume. I am speaking from experience on packages that I've manually resumed. One of them is the commit size on data flows, if it's 0, then the data will be written as a single batch, and if it fails, then nothing is written. If it is say 5000, and 80000 rows have been written before the Data Flow task fails, then those rows that have been written are still in the destination table. Attempting to rerun the data flow will now insert duplicate records. Devin, I imagine that exactly the same will happen with checkpoints? Or is the engine THAT smart to know where a load is within a data flow? I doubt it.
  • devinknight 1/26/2010 8:41:30 AM by:  devinknight
    Yep you're absolutely right. If partial rows get inserted you could get duplicate data even with Checkpoints.
  • nitya 1/31/2010 3:48:01 PM by:  nitya
    Devin, By wrapping in a transaction, you can avoid duplicates right?
  • devinknight 2/1/2010 7:56:18 AM by:  devinknight
    Yes but one thing to be aware of with transactions is they do not work on all tasks. For example if you have transactions set on a package with a File System Task that moves a file the transaction will not move the file back if the package fails.

Post a comment

Comment (No HTML)  

Type the characters:
 *
 
   

Join Business Intelligence Developer Network for FREE Today!

It's fast, easy and free! Submit articles, get your own blog, ask questions & give answers in the forums, and become a better developer, faster.

enter your email address:

Blogs RSS Feed

DevinKnight's latest blog posts

  • Solving All Versus (Select All) SSRS End User Confusion
    3/12/2010 11:11:39 PM
    When developing reports that use Analysis Services as a data source end user can sometimes be confused about some of the options they see in report parameters.  Anytime you have a parameter that allows for multiple values to be selected then you will see a (Select All) option that Reporting Services adds that make for an easy way to check off each item in the parameter dropdown.   If you followed most of the defaults when developing you dimensions in Analysis Services you likely also have an opt...
  • Using Excel 2007 in SSIS 2005
    3/2/2010 10:16:14 PM
    Many companies are not in a rush to upgrade their SQL Servers because of the enormous cost to upgrade.  This results in the majority of companies still running previous versions of SQL Server (2005, 2000, and even earlier).  Many times as the developer you are forced to work with older server components but new file sources like Excel 2007 with SQL Server and SSIS 2005.  In this case, there are some workarounds that will allow using what seem like two incompatible platforms.  This is a highly bl...
  • Using Database Transactions across multiple SSIS Tasks
    3/2/2010 8:17:55 AM
    If you experiment at all with transactions that are built into SSIS you will discover that they are highly flawed.  For example, if you have a transaction running on an entire package some tasks may not rollback on a failure.  A file system task is one of the major culprits that on a failure will not rollback the file operation it is performing.  I wish I was writing to give you a solution to that problem today but I’m actually writing to show how you could use a typical database transaction acr...
  • IntelliSense Slow to Refresh
    2/23/2010 11:36:14 AM
    IntelliSense in SQL Server 2008 can sometimes not be very intelligent.  It’s there to help you can sometimes cause more problems than it does solve problems.  Here’s one of those problems cases: Create a table without using the UI.  Just type a basic script to create a table.   Try to select from that newly created table and your IntelliSense can’t find the new table.   The problem is SQL Server knows you have a new table but IntelliSense does not.  If you refresh the Local Cache IntelliSense wi...
  • Free Webinar Series This Week
    2/22/2010 6:50:40 PM
    If you haven’t heard already this week there is a great free webinar series going on that’s meant for beginners.  This series is meant to get you up to speed on many topics like TSQL, DBA Fundamentals, SSIS, SSAS, SSRS, and Performance Tuning.  Oh and did don’t forget it’s free!  It’s your opportunity to see speakers and authors like Jorge Segarra, Patrick LeBlanc, Brian Knight, Brad McGehee, Adam Jorgensen, and myself!  All sessions are recorded so even if you miss the original filming you can ...
Blogs RSS Feed

Latest community blog posts

  • Free and Discounted Microsoft Learning Resources
    3/15/2010 11:06:43 AM
    I was browsing the Microsoft Learning portal over the weekend and came across the following free or dicounted learning resources for SQL Server. Free Resources: Clinic 6188: What's New in Microsoft SQL Server 2008 for Enterprise Data Platform (1 hour)   Clinic 6189: What's New in Microsoft SQL Server 2008 for Business Intelligence (1 hour) Clinic 6190: What's New in Microsoft SQL Server 2008 for Database Development (1 hour) Clinic 6258: New Features Of Microsoft SQL ...
  • SQL Agent jobs
    3/14/2010 2:46:26 PM
    Recently I was asked to provide a list of all sql jobs on a certain server running between 2 and 3 in the morning.  We have quite a few jobs and it would be time consuming to look through each to determine the time of day each runs.  So I used the sysjobs, sysjobsschedules tables to return the job name and times the jobs run. There are several jobs related tables in the msdb database: sysjobs sysschedules sysjobhistory sysjobsteps syscategories   The table names are pretty self explanatory.  The...
  • Solving All Versus (Select All) SSRS End User Confusion
    3/12/2010 11:11:39 PM
    When developing reports that use Analysis Services as a data source end user can sometimes be confused about some of the options they see in report parameters.  Anytime you have a parameter that allows for multiple values to be selected then you will see a (Select All) option that Reporting Services adds that make for an easy way to check off each item in the parameter dropdown.   If you followed most of the defaults when developing you dimensions in Analysis Services you likely also have an opt...
  • DTS Runtime Required
    3/12/2010 10:49:40 AM
    Yesterday, I dealt with a client that was having issues converting his dts packages to SSIS 2008. He was using DTS xChange to convert the packages, but each time he tried to run the migration, he received the following error. "Can not load Tasks. Error : Unable to cast COM object of type 'System.__ComObject' to interface type 'DTS.CustomTask'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{10020904-EB1C-11CF-AE6E-00AA004A34D5}' failed d...
  • Missing AdventureWorks2008 Found
    3/12/2010 7:08:28 AM
    So I finally got through all the SSIS Class Labs including the Group Labs and decided to figure out why I didn't have AdventureWorks2008. I had previously tried to enable FILESTREAM according to some blogs I had read about it but had no success. Maybe I just understand all this a little better now but when I exactly followed these steps right out of the help file it worked for me: 1. On the Start menu, point to All Programs, point to Microsoft SQL Server 2008, point to Configuration Tools, and t...