SQL Server Integration Services
SSIS is a platform for data integration and workflow applications. It features a fast and flexible data warehousing tool used for data extraction, transformation, and loading (ETL). The tool may also be used to automate maintenance of SQL Server databases and updates to multidimensional cube data.
First released with Microsoft SQL Server 2005, SSIS replaced Data Transformation Services, which had been a feature of SQL Server since Version 7.0. Unlike DTS, which was included in all versions, SSIS is only available in the "Standard" and "Enterprise" editions.
The SSIS Import/Export Wizard lets the user create packages that move data from a single data source to a destination with no transformations. The Wizard can quickly move data from a variety of source types to a variety of destination types, including text files and other SQL Server instances.
Developers tasked with creating or maintaining SSIS packages use a visual development tool based on Microsoft Visual Studio called the SQL Server Business Intelligence Development Studio (BIDS). It allows users to edit SSIS packages using a drag-and-drop user interface. A scripting environment in which to write programming code is also available in the tool. A package holds a variety of elements that define a workflow. Upon package execution, the tool provides color-coded, real-time monitoring.
- A connection includes the information necessary to connect to a particular data source. Tasks can reference the connection by its name, allowing the details of the connection to be changed or configured at run time.
- A task is an atomic work unit that performs some action. There are a couple of dozen tasks that ship in the box, ranging from the file system task (which can copy or move files) to the data transformation task. The data transformation task actually copies data; it implements the ETL features of the product
- Precedence constraints
- Tasks are linked by precedence constraints. The precedence constraint preceding a particular task must be met before that task executes. The run time supports executing tasks in parallel if their precedence constraints so allow. Constraints may otherwise allow different paths of execution depending on the success or failure of other tasks. Together with the tasks, precedence constraints comprise the workflow of the package.
- Event handlers
- A workflow can be designed for a number of events in the different scopes where they might occur. In this way, tasks may be executed in response to happenings within the package —such as cleaning up after errors.
- Tasks may reference variables to store results, make decisions, or affect their configuration.
- Parameters (SQL Server 2012 Integration Services)
- Parameters allow you to assign values to properties within packages at the time of package execution. You can project parameters and package parameters. In general, if you are deploying a package using the package deployment model, you should use configurations instead of parameters.
A package may be saved to a file or to a store with a hierarchical namespace within a SQL Server instance. In either case, the package content is persisted in XML.
Once completed, the designer also allows the user to start the package's execution. Once started, the package may be readily debugged or monitored.
Features of the data flow task
SSIS provides the following built-in transformations:
- Fuzzy Grouping
- Lookup and Fuzzy Lookup
- Percentage Sampling and Row Sampling Transformation.
- Copy/Map, Data Conversion, and Derived Column
- Data Mining Model Training, Data Mining Query, Partition Processing, and Dimension Processing
- Pivot and Unpivot
- Slowly Changing Dimension
- Script Component
- Cache Transform
- Export and Import Column
- OLE DB Command
- Row Count
- Term Extraction
- Term Lookup
- Row Sampling
- Foreach Loop Container
- For loop Container
The Conditional Split transformation is used to conditionally route rows to other transformation objects based on a particular condition. It is similar to the "if..else" construct in the C language.
Other included tools
Aside from the Import/Export Wizard and the designer, the product includes a few other notable tools.
DTEXEC executes a package from the command line wherever it may be stored. Before running the package, the tool may be instructed to apply configuration information, which will allow the same package to be reused with slightly different parameters, including different connection strings for its endpoints.
DTUTIL provides the ability to manage packages from the command prompt. The tool can copy or move a package from a file into the server store, or back out again. Among a few other sundry functions,it can be used to delete, rename, encrypt, or decrypt packages.
Extensibility and programmability
SSIS features a programmable object model that allows developers to write their own hosts for package execution. Such a host can respond to events, start and stop packages, and so on. The object model also allows developers to create, store, and load packages, as well as create, destroy, and modify any of the contained objects.
- "Integration Services Transformations". Microsoft Developer Network. Microsoft. Retrieved 22 March 2013.
- "Percentage Sampling Transformation". Microsoft Developer Network. Microsoft. Retrieved 22 March 2013.
- "Cache Transform". Microsoft Developer Network. Microsoft. Retrieved 22 March 2013.
- "dtexec Utility (SSIS Tool)". Microsoft Developer Network. Microsoft. Retrieved 2013-03-24.
- Marcin Policht (2010-08-09). "Executing SSIS Packages Using DTExec". Database Journal. Retrieved 2013-03-24.
- "dtutil Utility (SSIS Tool)". Microsoft Developer Network. Microsoft. Retrieved 2013-03-24.
- Yan Pan (2008-03-20). "Using dtutil to copy SSIS packages stored in SQL Server". Database Journal. Retrieved 2013-03-24.
- "Developing a Custom Data Flow Component". Microsoft Developer Network. Microsoft. Retrieved 22 March 2013.
- "Developing a Custom Task". Microsoft Developer Network. Microsoft. Retrieved 22 March 2013.
- SQL Server Integration Services official site
- SQL Server Integration Services (SSIS) Resources
- SSIS resources
- SQL Server Integration Services Discussion Forum
- SQL Server 2005 version comparison
- SSIS Community Tasks and Components
- SSIS 2005/2008 Design Patterns, Tips, and Tricks
- SSIS Scripts