Migrate SSIS

SQL Server 2016 left support in July 2026. Here is where the SSIS packages go.

SQL Server Integration Services still ships with SQL Server 2025 [5], so this is a lifecycle question. SQL Server 2016 left extended support on July 14, 2026 [1]; SQL Server 2017 leaves it on October 12, 2027 [2]; SSIS 2025 removed the Attunity change-capture components, the Microsoft Connector for Oracle and the Hadoop tasks [6]; and running packages in Azure means paying for an SSIS Integration Runtime by the node-hour [7]. Lima converts packages in batches: a package becomes a pipeline, a data flow becomes operators, a script task becomes Python, the removed change-capture components become Lima's change capture, and SQL Agent jobs become schedules with run windows.

Jan 2025Dec 2027Nov 18, 2025SQL Server 2025 and SSIS 2025 releasedJul 14, 2026SQL Server 2016 extended support endedOct 12, 2027SQL Server 2017 extended support endsTODAY · SEP 2026
The two support dates that move SSIS estates, and the release that removed the change-capture components. Later versions (2019, 2022) run to 2030 and 2033.
Jul 14, 2026
SQL Server 2016 extended support ended
dated source [1]
Oct 12, 2027
SQL Server 2017 extended support ends
dated source [2]
Removed
Attunity CDC components and the Oracle connector in SSIS 2025
dated source [6]
Node-hour
how the Azure-SSIS Integration Runtime is billed
vendor-stated [7]
Preview
'Invoke SSIS Package' in Fabric: no on-premise sources, no custom components
dated source [8]
What changes, and when

SSIS keeps shipping; the versions you run do not.

Nothing forces a package to stop on a support date. What changes is that the SQL Server it runs on stops receiving fixes, the change-capture components you may depend on are gone from the current release, and the cloud routes for SSIS come with meters and limits. Estates on 2019 and 2022 have years; estates on 2016 and 2017 have a decision.

Nov 2025
SSIS 2025 shipsSQL Server 2025 is generally available with SSIS; the Attunity CDC components, the Microsoft Connector for Oracle and the Hadoop tasks are removed [5][6].
Jul 2026
SQL Server 2016 leaves supportExtended support ended on July 14, 2026; Extended Security Updates are sold in yearly steps to July 2029 [1][9].
Oct 2027
SQL Server 2017 leaves supportExtended support ends on October 12, 2027 [2].
2030 · 2033
2019 and 2022Extended support runs to January 8, 2030 and January 11, 2033 [3][4].
What moves where

Each thing you have today, and what it becomes.

The conversion is a mapping, and the mapping is short. What has no equivalent is listed too.

TodayIn LimaWhat to know
Package (.dtsx)Pipeline on the canvasOne package, one pipeline; the inventory groups packages by pattern.
Control flow (tasks, precedence constraints)DAG of stepsSequence, success and failure paths carry over as dependencies.
Data flow (source, transformations, destination)OperatorsDerived Column, Lookup, Conditional Split, Aggregate, Sort, Merge Join, Union All have direct operators.
Lookup with cacheCached lookup querySame semantics; the database caches the answers.
Slowly Changing DimensionUpsert and history loadType 1 becomes an upsert; type 2 becomes a history table with validity dates.
Script Task / Script Component (C#, VB)Python operatorLogic is rewritten in Python; the inventory sizes each script.
Attunity CDC components (removed in SSIS 2025)Lima change captureSQL Server CDC tables or change tracking; Oracle LogMiner where the DBA allows; Lima's own checkpoints.
Microsoft Connector for Oracle (removed in SSIS 2025)Oracle connectorPartitioned JDBC reads within an agreed cap.
Error output (redirect row)Exception records with ownersBad rows kept and routed with a deadline; replayed once fixed.
Project parameters and environmentsConnection registry and pipeline parametersEnvironment values live with the connection or the schedule.
SQL Server Agent jobsOrchestration on AirflowSchedules, dependencies, run windows with deadlines; an enterprise scheduler can trigger Lima instead.
SSISDB catalog reportsRun reports and lineageA reconciliation report per run; lineage per number.
How the conversion runs

Five steps, each with an acceptance record.

Inventory (week 1, free)We read your SSIS project files (ispac or dtsx) and SSISDB catalog export and count the packages by pattern: simple copies, lookups and joins, incremental logic, scripts, change capture, write-back. Each gets an effort band and a flag for anything Lima does differently.
Convert the first ten to twenty (weeks 2–4, fixed price)Each package becomes a Lima pipeline with the same sources and targets. Scripts become Python operators. Reject handling becomes exception records with owners.
Run both, compare the resultsThe old and the new run side by side for an agreed number of cycles. Rows, control totals and sample values are compared per table, and the differences are explained or fixed.
Cut over, one package at a timeWhen a package reconciles for the agreed cycles, its schedule moves to Lima and the old one is disabled. The reconciliation report is the acceptance record.
RetireWhen the last package has moved, the old server or subscription is switched off. The inventory shows what is left at every step.
The assessment

One week to know what you have.

The assessment reads exported projects and the catalog's execution history, and needs no access to production data.

What it readsWhat it reports
Packages and projectsCounts by pattern: copies, lookups and joins, SCD loads, scripts, change capture.
Components by familySources and destinations with the Lima connector for each; removed components (Attunity CDC, Oracle connector) flagged.
ScriptsScript tasks and components by size and language, with the Python conversion effort.
Execution historyRun times and failure rates from SSISDB, so run windows can be set.
Effort bandsPer batch of ten to twenty packages.
The offer

Free to look, fixed price to move.

What stays

What you keep.

SQL Server stays: as a source, as a target, or both. Lima reads it in partitions and captures changes through its CDC tables or change tracking.

SQL Server Agent or your enterprise scheduler can keep triggering jobs while the packages move; Lima's external-scheduler trigger reports status back.

Terms on this page

Plain meanings.

Package (SSIS)A unit of work in SSIS holding control flow and data flows; Lima's equivalent is a pipeline.
Data flowThe part of a package that moves rows from sources through transformations to destinations; in Lima, operators.
Extended Security UpdatesMicrosoft's paid security-only updates for a version past extended support, sold in yearly steps.
Integration Runtime (Azure-SSIS)The Azure Data Factory compute that runs SSIS packages, billed per node-hour.
Change tracking / CDC tablesSQL Server's two mechanisms for recording changed rows.
Questions

Asked before a migration.

Our packages run fine on SQL Server 2019. Why move?

You have until January 2030 on extended support [3]. The reasons to move earlier are the removed change-capture and Oracle components in the current release, the cost of running packages in Azure, and the checks, owners and reports a Lima pipeline adds. The inventory gives you the effort figure.

Can we run the packages in Fabric instead?

Microsoft's 'Invoke SSIS Package' activity in Fabric Data Factory is in preview with a Fabric-managed runtime; on the check date it did not support on-premise sources or custom components [8].

What happens to our C# script components?

They are rewritten as Python operators. The inventory lists each one with its size; most are short data-cleaning routines.

Start with the inventory.

One week, no charge. You get the count by pattern, the exposure flags and the effort bands, whatever you decide next.