When to use the SSIS SQL Server Destination vs the OLEDB Destination

SSIS OLE DB Destination

The SSIS OLE DB Destination is a data flow component in SQL Server Integration Services (SSIS) used to load data into a destination table or view in a relational database using OLE DB (Object Linking and Embedding, Database)

Concepts

  • The OLE DB Destination requires an OLE DB Connection Manager, which contains the connection information (such as server name, database name, and authentication details) for the target database.

  • The component allows you to map columns from the data source to columns in the destination table. You need to ensure that the data types and lengths match between source and destination columns.

  • The OLE DB Destination supports a “Fast Load” option, which allows for more efficient bulk loading of data into the destination. This option minimizes the number of round-trips between the SSIS package and the destination database, improving performance.

  • You can specify either a table or a view as the destination. If you choose a view, make sure that the view is updatable, as the OLE DB Destination performs insert operations.

  • The OLE DB Destination provides an error output, allowing you to redirect error rows to another data flow path for further processing or logging.

  • You can configure the batch size property to control the number of rows sent to the destination in each batch. This can help optimize performance and resource usage.

  • You can choose between different row insert options, such as “Insert” or “Insert and Update,” depending on your data load requirements.

SQL Server Destination

The SQL Server destination connects to a local SQL Server database and bulk loads data into SQL Server tables and views.

Concepts

  • The SQL Server Destination uses the SQL Server Native Client to perform fast bulk inserts directly into SQL Server tables. This can lead to better performance compared to the OLE DB Destination.

  • It supports the “Fast Load” option for efficient bulk loading. It also supports transactions, allowing you to commit or roll back a set of operations as a single unit.

  • The SQL Server Destination provides a simplified configuration interface when connecting to SQL Server databases. It requires fewer configurations related to data types and mappings.

  • Specify whether to execute the insert triggers defined on the destination table during the bulk load operation

Choosing the Right Destination:

  • If your destination is SQL Server exclusively and you want to leverage the native bulk load capabilities, the SQL Server Destination might provide better performance.

  • If you need to load data into different types of databases or data sources, or if you’re working in a heterogeneous environment, the OLE DB Destination is more versatile.

  • If simplicity in configuration is a priority and you are working exclusively with SQL Server, the SQL Server Destination may offer a more straightforward setup.

  • OLE DB Destination fast load option performance is very close to SQL Server Destination performance especially when handling small and medium data size (tested it on 200 GB and difference is less than 5 seconds)

Both the SQL Server Destination and OLE DB Destination can be effective choices for loading data into SQL Server databases. The decision should be based on your specific requirements, performance considerations, and the target database types within your SSIS solution.v