InfoQ

News

Using SSIS in a Team Setting

Posted by Jonathan Allen on Aug 10, 2007 12:02 PM

Community
.NET
Topics
Data Access,
Teamwork,
Data Warehousing
Tags
SQL Server 2005

SSIS or SQL Server Integration Services, can be thought of as a graphical programming language specifically designing for moving and processing data. It replaces DTS packages as one of the primary ways to move large amounts of data into and out of SQL Server from other data sources such as flat files and non-Microsoft databases.

What follows is a summary of the Jamie Tomson's experience using SSIS in a team setting.

The first problem with SSIS packages is that they are versioned as a unit. Unlike a normal code file, you cannot have two people modify the package at the same time and expect to be able to merge your changes together. The underlying XML format simply isn't designed to be human readable. The impact of this can be lessened by using exclusive locks when you check out a package. Another mitigating factor is the ability to call packages from other packages via the Execute Package Task.

Jamie Tomson highly recommends using package templates from the very beginning.

If you only take one piece of advice from this blog entry make sure its this - use templates; they are vital in a multi-developer environment. Templates are the only built-in mechanism for enabling common approaches to those mundane but necessary aspects of SSIS development like logging, annotating, checkpointing and configuration. Spend time at the beginning of your project deciding how you are going to accomplish logging, checkpointing and configuration and build an appropriate template to support those decisions. I have provided an example template here. Don't leave home without one.

Annotations and naming conventions are also very important to document exactly what a package is trying to accomplish.

In regards to projects and solutions, Jamie suggests:

Use separate projects to group together packages that work in concert with each other or collectively achieve a single goal. Don't be afraid to introduce more projects but only do so where it makes sense to. If you can, use a single solution for all your SSIS packages.

No comments

Reply

Exclusive Content

Measuring Agile in the Enterprise: 5 Success Factors for Large-Scale Agile Adoption

Michael Mah analyzes the development process in 5 companies: 2 Agile (one of them BMC) and 3 classic. He presents the factors which contributed to the success of BMC's Agile adoption.

Tom Preston-Werner on Powerset, GitHub, Ruby and Erlang

In this interview filmed at RubyFringe 2008, Tom Preston-Werner talks about how both Powerset and GitHub use Ruby and Erlang, as well as tools like Fuzed, god, and more.

David Laribee on Alt.NET and its Mission

David Laribee discusses the purpose of ALT.NET, its mission and future.

Discover RailsKits and Stop Writing Redundant Code

Ruby on Rails has become a popular Ruby framework for creating web applications in recent years. An aspect of creating a web application is the need to repeatedly create the same base functionality.

A Formal Performance Tuning Methodology: Wait-Based Tuning

Steven Haines talks about tackling web application performance tuning by proposing a method called wait-based tuning.

Shaw and Fowler About Forging a New Alliance

Shaw and Fowler talk about the need for a new relationship between the business department and the IT department. Studies have shown that projects mostly fail due to miscommunication between the two.

How to GET a Cup of Coffee

In this article, Jim Webber, Savas Parastatidis and Ian Robinson show how to drive an application's flow through the use of hypermedia in a RESTful application.

Archaeopteryx: A Ruby MIDI Generator

Eccentric artist turned overnight anti-celebrity, Giles Bowkett captures the heart and soul of RubyFringe as he demonstrates his revolutionary Archaeopteryx MIDI drum pattern generator.