Home > SQL Server Tips > Database Development > Data Transformation Services vs. SSIS: The key differences
SQL Server Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

DATABASE DEVELOPMENT

Data Transformation Services vs. SSIS: The key differences


Denny Cherry, Contributor
10.06.2009
Rating: -4.29- (out of 5)


Expert advice on database development
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


Migrating from Data Transformation Services (DTS) to SQL Server Integration Services (SSIS) is a major upgrade. The two engines are very different and developers may find the move daunting as many tasks, including the ActiveX component, require a complete rewrite.

In SQL Server 7.0 and SQL Server 2000, DTS was part of the database platform, and it was edited with the Enterprise Manager tool. SSIS, on the other hand, was introduced in SQL Server 2005, and is a separate Windows service. SSIS packages are edited with the Business Intelligence Development Studio (BIDS) tool. In addition, while a 32-bit environment is the only option with DTS, 64-bit data processing is available in Integration Services.

Furthermore, SSIS can run VB.NET or C# code directly in the SSIS package as a script object, which are not just VBA scripts but fully precompiled .NET applications that can reference native or third-party .NET libraries, COMM objects, etc.

Process constraints

When a Data Transformation Services package is created, each object runs in its own right and you draw precedence constraints between the objects.

The concept remains the same in SQL Server Integration Services, but objects can now also be grouped together in a sequence container. This allows you to run an object, then kick off the sequence container and run the object (or objects) in the container.

The objects in the container can have constraints between them as shown in Figure 1.

Figure 1: Example of constraints in a sequence container (Click to enlarge)
[IMAGE]

The following five constraints are shown above:

  1. Green arrows without a small blue box indicate the prior object must complete successfully.
  2. Blue lines mean the prior object must complete.
  3. Small blue box indicates an expression must match successfully.
  4. Solid color arrows in an expression indicate a logical AND is in place.
  5. Dotted arrow indicate a logical OR is in place.

(Red lines, ...


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google



RELATED CONTENT
SQL Server Business Intelligence (BI) and Data Warehousing
Using the Pivot transformation in SQL Server Integration Services
DBA career paths could lead to business intelligence
Are data warehouses made for the cloud?
Q&A: Business intelligence gets a facelift in SQL Server 2008 R2
Project Gemini gets a new name, Madison earns buzz
Speed up reports in SQL Server Reporting Services with caching
Using package configurations in SQL Server Integration Services (SSIS)
How SQL Server 2008 components impact SharePoint implementations
Achieving high availability and disaster recovery with SharePoint databases
Recommended practices for SQL Server Analysis Services aggregations

Database Development
Using DELETE and TRUNCATE TABLE statements to delete data in SQL Server
Speed up reports in SQL Server Reporting Services with caching
Working with IntelliSense in SQL Server 2008 Management Studio
Top tips and tricks for SQL Server database development
Managing the development lifecycle with Visual Studio Team System 2008
Processing XML files with SQL Server functions
A first look at Visual Studio Team System 2008 Database Edition
How to create a SQL inner join and outer join: Basics to get started
New datetime data types in SQL Server 2008 offer flexibility
Using DATEADD and DATEDIFF to calculate SQL Server datetime values

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
data aggregation  (SearchSQLServer.com)
data preprocessing  (SearchSQLServer.com)
data warehouse  (SearchSQLServer.com)
FileMaker  (SearchSQLServer.com)
GIS  (SearchSQLServer.com)
MOLAP  (SearchSQLServer.com)
pivot table  (SearchSQLServer.com)
Quiz: SQL Server 2000  (SearchSQLServer.com)
SQL  (SearchSQLServer.com)
T-SQL  (SearchSQLServer.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary


which are not shown, indicate a prior object must fail to complete successfully.)

In the case of the arrow between the Clear Working Folder file system task and the Process Updates execute SQL task, the Clear Working Folder object must be successful and the expression within the object must also evaluate successfully.

In the case of the constraint line between the Process Updates SQL task and the Process New Domains data flow task, either the Process Updates object must be successful or the expression in the constraint must be true.

Task objects

A total of 17 task objects are available in DTS packages for SQL Server 2000. Of the 17 tasks, five are for transferring database objects from one server to another. This leaves only 12 tasks for working with data or running other code or commands.

In comparison, SSIS includes 29 tasks, which doesn't even count all the data flow objects used for moving data from one location to another, and is in addition to 11 database maintenance tasks. Of the 29 tasks, six are for transferring database objects, which leaves 22 tasks for running commands or scripts.

Data flow transformations

Data Transformation Services basically has only a single data transformation option: columns can be mapped to other column names.

SSIS has 29 different data transformation options, including the ability to split values, handle lookups, merge transformations, do percentages based on samplings of data, do row sampling, run .NET scripts against the rows while in flight, and sort the data. This provides a wider range of options when moving data between servers.

(Note: Since there are so many options, be careful when selecting one to ensure you don't pick the wrong transformation.)

"Gotchas" in SSIS

Many first time SSIS developers are tripped up by the fact that unlike DTS, SSIS does not automatically handle ASCII to Unicode conversions seamlessly. Instead, a data conversion task is needed to move from ASCII to Unicode.

Another item SSIS developers will miss from DTS is the dynamic properties task, which allows almost any object property to be dynamically set based on vales from variables, queried from a database, or loaded from a config file. While to some degree, this concept is still possible with the script tasks in SQL Server Integration Services (for example the .NET script task can change the properties of a connection object, or change the values of SSIS variables), you don't have the same amount of freedom because most of the SSIS task is compiled before it is run. Therefore, the number of things that can be dynamically changed is much lower than with Data Transformation Services.

While there are many enhancements to SSIS, some DTS features were lost and this initially turned some developers off. Once the migration process is complete, however, you will find SSIS is a powerful and flexible tool that can handle all your data transformation needs.

ABOUT THE AUTHOR:   

[IMAGE]Denny Cherry has over a decade of experience managing SQL Server, including MySpace.com's over 175-million-user installation, one of the largest in the world. Denny's areas of expertise include system architecture, performance tuning, replication and troubleshooting. He currently holds several Microsoft certifications related to SQL Server and is a Microsoft MVP.
Check out his blog: SQL Server with Mr. Denny


Rate this Tip
To rate tips, you must be a member of SearchSQLServer.com.
Register now to start rating these tips. Log in if you are already a member.




DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



SQL Server Development - .NET, C#, T-SQL, Visual Basic
HomeNewsTopicsITKnowledge ExchangeTipsAsk the ExpertsMultimediaWhite PapersIT Downloads
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2005 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts