I have to implement a processus that load three different database, transform data and load it’s results into a new SQL database.
I thought to SSIS(Integration services of SQL server). It would be perfect for me, but: this processus will run during 6-8 month, every night. It has to import only changes.
And I don’t know if I can do this with SSIS?
There is a big volume of data to import, so we want that those data are updated incrementally(Based on the “ModifiedAt” column on source database).
So:
- Is this possible(incremental import), how?
- If Yes: what is the best way to schedule it every day?
- If no: can you see another approach where I don’t have to program everything from scratch?
Yes, @andyLeonard has an excellent series called the Stairway to Integration Services I reference this series of articles frequently in answers because it’s much more concise then trying to string together the accumulated wisdom of the SSIS tag in a single answer. In that series of articles, Andy walks you through various takes on the incremental load pattern. I think that will give you some clarity on how to structure your imports.
You can schedule SSIS packages using whatever scheduling tool your organization currently uses.
SQL Agent – the built in scheduling tool for SQL Server is a common option for organizations. Odds are strong that your DBAs are already using it to handle scheduling of things like index rebuilds/reorganization, etc. A plus to using Agent is that for the neophyte, it has a step built just for running SSIS packages. Not that it’s all that complicated to launch an SSIS package but every little helps.
Windows scheduler – Windows has a serviceable scheduler built in (name eludes me,
atmaybe?). If you’re using this approach, I’d probably suggest you make a simple batch script to start the package, that way you can ensure a manual launch of the package is the same as what the scheduler runs.Tidal Where I’m at, we use Tidal to handle all our job scheduling. It’s not cheap but in an environment where we are trying to coordinate activities across mainframe, unix, and windows environments, it’s the bees knees. The interface is a god-awful java thing that I’d love to see die in a fire a few times over but don’t let that distract you from the capability of the tool.