What Are SQL Server Integration Services?

What you need to know about Microsoft SQL Server Integration Services (SSIS), SSIS packages, and SSIS monitoring.

What Are SQL Server Integration Services?

  • SQL Server Integration Services (SSIS) is a Microsoft SQL Server database built to be a fast and flexible data warehousing tool to perform high-performance data integrations.

  • SSIS can be used for extraction, loading, and transformation (ETL) of data by extracting data from multiple sources, such as SQL Server database, Oracle database, and Excel files. It uses cleaning and merging processes to help make data more informative.

  • A primary responsibility of SQL Server Integration Services is the migration of data from different sources to other destinations. It also offers a wide range of tools and solutions, including a data warehousing tool for ETL, to assist in data integration and workflow activities. The most common uses of SSIS include:

    • Data archiving: Merging data into a single dataset is one of the most common practices. Businesses usually archive information they no longer need for regular operations. In this case, SSIS is used to homogenize the information. It can seamlessly handle huge volumes of data coming from different sources. SSIS can transform archived information into a valuable data source by splitting and merging to make it a powerful asset for the enterprise.
    • Data loading (bulk-load data): Another challenge businesses face is maintaining over-populated data warehouses and marts. In these data warehouses, the data volume is enormous, while the time given for extraction, loading, and transformation of data is less. SSIS includes a destination component designed to bulk-load the information directly from flat files stored in the SQL database or perform a bulk load into SQL Server. It also includes checkpoints to rerun a package and quickly handle various types of errors that may occur during complex data-loading scenarios. SSIS is capable of denormalization that helps source data from a particular destination such as tables or files.
    • Data indexing or history management: History management is crucial within your data warehouses to review the actual state of processes at a specific time. To manage such complex updating scenarios, SQL Server Integration Services uses the "Slowly Changing Dimension Wizard." This wizard enables you to dynamically create and configure data transformation tasks, such as adding or updating records, adding new tables, columns, and rows to simplify and streamline history management.
    • Data Cleansing: A data-quality check is another important step businesses need to perform. As they receive data from multiple external and internal sources, it becomes essential to standardize and clean the data before loading it into the systems. Different business areas use different data standards and formats to store information. To standardize all the information, you can use SSIS to perform data transformation tasks such as cleaning, converting, and enriching. You can also identify duplicate records using the SSIS grouping transformation feature to remove such records before data loading.

    Additionally, with its rich data transformation capability, SSIS can support evaluating expressions and performing workflow tasks based on the results of the data values. You can perform tasks such as copying SQL server objects, loading bulk data, and more.

  • A SQL Server Integration Services package is the collection of tasks executed in an orderly fashion needed to merge data into a single dataset and load the destination table in a single step rather than follow a step-by-step process to save the files onto a SQL Server. An SSIS package can use control flow, manager, tasks, variables, event handlers, parameters, and more to achieve this. To better understand what an SSIS package is, it’s helpful to break down some of the main components and their functions.

    • Control flow: Control flow helps you arrange components for easier execution. These components include tasks and containers.
      • Task: A task can be defined as the unit of work. It works exactly like a programming language. However, it doesn’t use coding methods for execution. You need to drag and drop to configure tasks.
      • Container
        • Sequence container: This allows you to organize tasks by grouping them.
        • For loop container: This enables you to run a task multiple times based on the evaluation.
        • Foreach loop container: This allows looping performed over a set of objects, like files in a folder.
  • At a high level, creating a SQL Server Integration Services package typically involves the following.

    • Creating the SSIS project: It’s important to create an SSIS project for where the package will reside.
    • Adding the truncated table task: You need to truncate the existing tables to load a volatile staging table. Truncating a table helps you remove all the records from the table. However, this must be done carefully as the truncated tables cannot be rolled back in some databases.
    • Creating a new connection manager: Creating a new connection manager is crucial as it helps to integrate data sources into your SSIS package. With the help of connection managers, you can move the data from one place to another.
    • Adding a data flow task: Data flow ensures the data is moving in the right direction. It must follow the right steps to reach a specific destination. It makes it possible for the package to extract, transform, and load the data. You also need to use a precedence constraint to establish the data flow and maintain the order of operations.
  • SSIS package monitoring is important to understand how the components work. SSIS package monitoring includes configuring the logging of performance counters. The counters enable you to view how resources are used and consumed during the execution of an SQL Server Integration Services package. Helpful counters to use include:

    • Rows read: This counter allows you to count the number of rows as they pass through a data flow and provide the final count.
    • Buffers in use: This counter provides the pipeline details in the buffer used throughout the package pipeline.
    • Buffers spooled: This enables you to track when your machine is running out of physical or virtual memory during a data flow process by determining the number of buffers used.
Featured in this Resource
Like what you see? Try out the products.
SolarWinds SQL Sentry

SolarWinds SQL Sentry provides database performance monitoring for only the Microsoft SQL Server and platform.

Email Link To TrialFully functional for 14 days
Task Factory

Save time managing tedious data warehousing ELT/ETL tasks.

Email Link To TrialFully functional for 14 days

View More Resources

What is SSAS (SQL Server Analysis Services)?

SQL Server Analysis Services (SSAS) is a multidimensional online analytical processing (OLAP) server and an analytics engine used for data mining. It allows IT professionals to break up large volumes of data into more easily analyzed parts. A component of Microsoft SQL Server, it helps enable analysis by organizing data into easily searchable cubes.

View IT Glossary

What is CPU usage?

CPU utilization indicates the amount of load handled by individual processor cores to run various programs on a computer.

View IT Glossary

What is a Relational Database?

A relational database allows you to easily find, scan, and sort specific information based on the relationship among the different fields defined within a table.

View IT Glossary

What is Database Concurrency?

Database concurrency is a unique characteristic enabling two or more users to retrieve information from the database at the same time without affecting data integrity.

View IT Glossary

What is MariaDB?

MariaDB is a secure enterprise database system using pluggable storage engines to store and manage different types of data.

View IT Glossary

What is a Database Query?

In everyday language, a query is simply a request for information. Similarly, the meaning of a query in database management is a request for data. If you need to access, manipulate, delete, or retrieve data from your relational database, you’ll need a database query written using a specific syntax.

View IT Glossary