Migrating VS2019 SSIS Pkg to SQL Server 2022 - Error Encountered

sidney l 21 Reputation points
2025-04-11T15:22:59.3+00:00

I am trying to migrate an SSIS PKG that was developed using VS2019 for SQL Server 2019 on Windows Server 2019. Now we have this new test server with the following components installed:

  1. Windows Server 2022 Datacenter
  2. SQL Server 2022 Enterprise
  3. VS 2019

I copied the SSIS Project from the old server to the new server. Opened it with VS2019 since it was created in VS2019 as I'm trying to take the least resistance path hoping things would work. So I opened it without any problems and ran it successfully in VS2019 with the TargerServerVersion still set to 2019 but loaded the data into SQL 2022.

When I setup a .bat file to run this SSIS PKG via dtexec, I get this error

Error: 2025-04-11 09:32:52.14

Code: 0xC001700A

Source: Package

Description: The version number in the package is not valid. The version number cannot be greater than current version number.

My guess is that it needs to have the TargetServerVersion = SQL Server 2022 but VS2019 doesn't support SQL 2022 and my requirement is I can't have VS2022 on the new server. So it works fine in VS2019 but not at command line.

How can I make this SSIS work on the new server using dtexec?

Thank you

SQL Server Integration Services
SQL Server Integration Services
A Microsoft platform for building enterprise-level data integration and data transformations solutions.
2,681 questions
{count} votes

Accepted answer
  1. Michael Taylor 58,696 Reputation points
    2025-04-14T21:33:53.76+00:00

    Firstly, you should really never install VS on a production server. There is no reason to do this. It could negatively impact the server, requires you keep it up to date and is a potential access point for malicious software. So my recommendation is you remove VS from the SQL server.

    As for the target version, I don't think that is the issue. SQL 2022 can run SSIS packages targeting SQL 2019. All you need to do is deploy the SSIS package to the SQL 2022 instance and it should run. Did you actually deploy the SSIS package to your server or are you just trying to run it manually? The easiest way to deploy it is to open it in VS, right click the package in Solution Explorer and select the option to Deploy. It should deploy everything needed for that SSIS package to run.

    Once you've deployed then run SSMS, go to the SSISDB database and find the SSIS package. Then execute the package. If it runs then everything is deployed properly.

    Things to consider here:

    • If the SSIS package is using shared data sources then you'd need to ensure that the appropriate data sources are also deployed.
    • If you are using runtime configuration files (parameter files I think they are called) then you need to ensure they are deployed as well.
    • If you're running into errors then enable diagnostic logging on the package on the server so you can get to the actual errors.
    • If you rely on any third party components in SSIS then they have to be deployed first. This is outside the package deployment.
    • Check to see what bitness your SSIS package is running under. Ensure that everything you rely on supports that bitness. I think VS uses 64-bit by default, but I could be wrong.

    To develop SSIS packages going forward you should install VS 2022 on a development server. Copy your SSIS package to it and develop against that. Note that you can still target your SQL 2022 instance running wherever, that's the purpose of the Connection Manager. Once you have your package ready to go then, as mentioned earlier, you can have VS deploy to the SQL server for production use. Alternatively you can use a CLI or SSMS to deploy the package by hand.

    1 person found this answer helpful.

1 additional answer

Sort by: Most helpful
  1. sidney l 21 Reputation points
    2025-04-17T21:51:25.6933333+00:00

    @Micheal Taylor That was it! I ran it with the incorrect version of 'dtexec.exe' So the error message indeed was accurate. I wasn't even aware of multiple versions of 'dtexec'. Consider it was a self-inflicted pain!! :) Thanks for that tip.

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.