November 19, 2012 at 4:22 am
Hi All,
I have to load data from one server to another server on daily basis using SSIS Package.
I have only one table to be populated from Source ->destination. But the source contains millions and millions of records.. I need to set up a job nightly, so that data is picked up from Source and loaded into the destination server.
Say if there are 100 new data coming in today into the source,then I wanted to look up the destinationand load only the newly inserted data....Is SSIS look up is the best option to look up the existing records in destination table and load the new ones from the source table???
Any best practices(performance wise) to implement the SSIS package to load data from Source->destination by looking up millions of records and load the new ones???
Thanks in advance.
November 19, 2012 at 7:02 am
var05 (11/19/2012)
Hi All,I have to load data from one server to another server on daily basis using SSIS Package.
I have only one table to be populated from Source ->destination. But the source contains millions and millions of records.. I need to set up a job nightly, so that data is picked up from Source and loaded into the destination server.
Say if there are 100 new data coming in today into the source,then I wanted to look up the destinationand load only the newly inserted data....Is SSIS look up is the best option to look up the existing records in destination table and load the new ones from the source table???
Any best practices(performance wise) to implement the SSIS package to load data from Source->destination by looking up millions of records and load the new ones???
The Lookup transofrmation will work fine. I'm assuming you have a unique business key that you can verify if a record is present or not with. Multiple millions of rows isn't all that many -- of course this is a generalization and depends upon your specific load window, network performance, ect....
Do you have a way to identify new and/or updated records on the source system? Something like a last updated and create date columns? If so, then you only need to pull records from the source that have changed in the last day.
HTH,
Rob
November 19, 2012 at 8:38 am
Thanks....I am using the lookup transformation only...n again I don have to worry about updated records... It is just only the new records...
Thanks:)
November 20, 2012 at 6:59 am
var05 (11/19/2012)
Hi All,--
Say if there are 100 new data coming in today into the source,then I wanted to look up the destinationand load only the newly inserted data....Is SSIS look up is the best option to look up the existing records in destination table and load the new ones from the source table???
Any best practices(performance wise) to implement the SSIS package to load data from Source->destination by looking up millions of records and load the new ones???
Thanks in advance.
You need to find a way of identifying newly inserted rows which does not require you to cross check all of them.
Usually, a row will have a date created column and you can compare that (by selecting rows where this date is greater than the max of this column in the destination data).
Alternatively, maybe an autoincrementing primary key on the source table - similar principle to the above.
The absence of evidence is not evidence of absence
- Martin Rees
The absence of consumable DDL, sample data and desired results is, however, evidence of the absence of my response
- Phil Parkin
November 20, 2012 at 10:10 am
Instead of growing your own form of replication, why not just setup replication for that table?
--Jeff Moden
Change is inevitable... Change for the better is not.
Viewing 5 posts - 1 through 4 (of 4 total)
You must be logged in to reply to this topic. Login to reply