update changes only to a table.
The columns to be updated can be restricted by redirecting to OLEDB command and embed a T-SQL there UPDATE TABLE SET COLUMN1, COLUMN2 ....Happy to help! Thanks. Regards and good Wishes, Deepak. In a revamp of my Blog!
August 14th, 2011 2:35pm

Hi, What i have here Two similiar tables (like customer master which includes customer code, name, region etc ) in different servers one is in actually production DB and one is in Dev: I just want to update only the changes though SSIS...
Free Windows Admin Tool Kit Click here and download it now
August 28th, 2011 5:29am

I think you would need the Production source data into a Lookup Task which is based on the Development data, looking up on the PK column(s). Set the rows that do not match (or fail if using 2005) to be redirected to a new flow - you can then use this to feed back into your Development table using an OleDb Destination. http://www.sqlis.com/post/Get-all-from-Table-A-that-isnt-in-Table-B.aspxBest Regards, Uri Dimant SQL Server MVP http://dimantdatabasesolutions.blogspot.com/ http://sqlblog.com/blogs/uri_dimant/
August 28th, 2011 5:39am

you can use Change Data Capture for this case. this is a sample usage of CDC; http://sqlblog.com/blogs/andy_leonard/archive/2008/02/09/introducing-change-data-capture-ssis-and-sql-server-2008-ctp5-nov-2007.aspx http://blogs.msdn.com/b/repltalk/archive/2010/09/30/walk-through-of-microsoft-sql-server-change-data-capture.aspxhttp://www.rad.pasfu.com My Submitted sessions at sqlbits.com
Free Windows Admin Tool Kit Click here and download it now
August 28th, 2011 5:39am

It is much more complex to do an update than a delete of exiting data an import all new ones. If both servers ar ein the same domain you can create a linked server to prod and do a merge () or delete and import new data with T-SQL.
August 28th, 2011 5:41am

Dear Reza, I found the answer from your blog "SSIS Upsert with lookup". Here i have one doubt. No match output is clear for me but when there is a match (suppose matched data are more than 4000 rows ) all the rows will update or the changed columns only... please guid me. thanks
Free Windows Admin Tool Kit Click here and download it now
August 28th, 2011 5:48am

Dear Reza, I found the answer from your blog "SSIS Upsert with lookup". Here i have one doubt. No match output is clear for me but when there is a match (suppose matched data are more than 4000 rows ) all the rows will update or the changed columns only... please guid me. thanks all columns in each row will update, the update is based on the update statement you write in the ole db command transform's sql statement. the UpSert won't detect deletes, so for deleted rows you should have another lookup with reverse tables to find deleted rows. or you can find all deleted /inserted/ updated rows with merge join and set join type as full outer join, then with a conditional split find out that is this row is deleted ( not exists in source ) / inserted ( not exists in destination ) / updated ( exists in both source and destination ) But note that in both LOOKUP method or MERGE JOIN method, all match rows will be considered as changed! if you want to just get rows with changed column it is better to go with CDC as my first recommendation.http://www.rad.pasfu.com My Submitted sessions at sqlbits.com
August 28th, 2011 6:02am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics