A Microsoft platform for building enterprise-level data integration and data transformations solutions.
The error indicates that the Script Component’s metadata or binary script cannot be upgraded by the SSIS 2022 runtime, even though the package-level upgrade succeeded. The fix is to force a full recompile/migration of the script against the newer SSIS runtime and ensure no stale or version-bound references remain.
Use the following steps:
- Re-open and recompile the Script Component in VS 2022
- In Visual Studio 2022, open the SSIS 2022 project that contains
MyCoolETL.dtsx. - Open the data flow that contains
MyCoolScriptTransformation. - Double-click the Script Component to open the Script Transformation Editor.
- On the Script page, click Edit Script to open VSTA.
- Make a trivial change in the script (for example, add or change a comment) so that the project is marked dirty.
- Build the script project in VSTA (Build → Build). Confirm it builds successfully.
- Close VSTA, then click OK to close the Script Transformation Editor.
- Save the SSIS package so that the migrated script is persisted. The upgrade message
DTS_I_SCRIPTSMIGRATEDexplicitly requires saving the package to retain migration changes.
- In Visual Studio 2022, open the SSIS 2022 project that contains
- Check for version-bound or unsupported references
- In the script project (VSTA), review References.
- Remove any explicit references to SSIS assemblies that are version-bound to older SQL Server/SSIS versions; the upgrade process does not automatically fix such references and leaves them unchanged.
- If the script uses
ADODB.dllor other legacy COM/interop components, replace them with ADO.NET where possible. Scripts that depend onADODB.dllare called out as problematic during upgrades and may not run correctly on newer runtimes.
- Ensure the package is actually saved after migration
- The informational message
The scripts in the package were migrated. The package must be saved to retain migration changes.(HResults.DTS_I_SCRIPTSMIGRATED) means that until the package is saved, the upgraded script metadata is only in memory. Save the project/solution after successfully rebuilding the script.
- The informational message
- If the component still fails to upgrade
- Create a new Script Component in the same data flow (same input/output columns and variables).
- Copy the script code from the old component into the new one.
- Rebuild the script in VSTA.
- Remove or disable the old Script Component.
- Save and reopen the package to confirm it loads without the PerformUpgrade error.
- Align all environments on the same SSIS runtime
- When deploying to other servers (e.g., SSIS Catalog on SQL Server 2022), ensure the SSIS runtime version matches what is targeted by the project. For script components referencing SSIS-related assemblies that bind with version, manual update of references to the new version is required; the upgrade process does not change them automatically.
These steps force the Script Component to be recompiled and stored with metadata compatible with SSIS 2022, resolving the PerformUpgrade failure.
References:
- Upgrading the Version of a Data Flow Component
- Extending the Data Flow with the Script Component
- Upgrade Integration Services Packages
- Script Component
- HResults.DTS_I_SCRIPTSMIGRATED Field
- Transformation Custom Properties
- Issues with SSIS packages after upgrading SQLServer from 2019 to 2022. - Microsoft Q&A
- Local is 4.8 QA Is 4.5 Prod is 4.8 developing on local. But still on prod not works and gting error. Like cannot upgrade script component. Please help me. Tried with many options and tired. QA is Working and and same package deployed on prod fails - Microsoft Q&A