Share via

Wchich version is functionality compatibility to migrate from SQL Sever version 2016 vs 2019 or 2022?

techresearch7777777 1,981 Reputation points
2023-07-05T07:51:07.8666667+00:00

Hello we have SQL Server 2016 version and was wondering which higher version of SQL Sever version can fully cover to make smooth transition functionality (like Stored Procedures, syntax codes, deprecated items, SQL Agent jobs, etc...) when trying to choose between migration upgrade to newer SQL Server versions 2019 or 2022 ?

My initial guess is to go with latest SQL Server 2022 version but would it be able to cover whatever functionality that SQL Server version 2016 can do... but just asking if newer versions has some deprecated areas and can't support older like too much gap between these versions and can't support.

Thanks in advance.

SQL Server | Other
SQL Server | Other

Additional SQL Server features and topics not covered by specific categories


Answer accepted by question author

Erland Sommarskog 134.7K Reputation points MVP Volunteer Moderator
2023-07-05T12:04:55.6566667+00:00

Let's assume for a second that it would be smoother to move to SQL 2019 than to SQL 2022 because of some changes. But what would the point be? You would have to move from SQL 2019 at some point, and you would encounter the same issues at that point when moving to SQL 2022 or some later version. So why not just as well take the pain directly? Also, if you move to SQL 2019, the next upgrade will have to be closer in time than if you go to SQL 2022. SQL 2019 will go out of mainstream support in less than 18 months.

As it stands, there are very few changes that are likely to cause any direct issues with SQL 2022. The only one I can think of is if you are using the Machine Learning Extensions. In difference to SQL 2016, SQL 2017 and SQL 2019, SQL 2022 does not ship with R (and Python), but you need to download and install it separately. And, oh, the free-standing Machine Learning Services has been removed completely. But these are not features that all sites use.

Another change is that Stretch Database has been deprecated for future removal in SQL 2022, but it is still there. In any case, no one in his sane mind would use Stretch. (Because it's far too expensive.)

What can bite you, no matter you go to SQL 2019 or SQL 2022 and also change the compatibility level to the latest version is that some optimizer enhancements lead to queries regressing in performance. You should have Query Store enabled on the database for a month before you upgrade. Then if you get a regression, you can force the old plan as a quick measure, and then you can investigate why things went wrong.

Was this answer helpful?

1 person found this answer helpful.
0 comments No comments

2 additional answers

Sort by: Most helpful
  1. Anonymous
    2023-07-05T09:22:41.7366667+00:00

    Was this answer helpful?

    0 comments No comments

  2. Olaf Helper 47,621 Reputation points
    2023-07-05T07:55:06.5333333+00:00

    Deprecated features are documented at

    https://learn.microsoft.com/en-us/sql/database-engine/deprecated-database-engine-features-in-sql-server-2019?view=sql-server-ver16

    A easier & fatser way is to use DMA = "Data Migration Assistant" to check all your database for may known issues.

    https://learn.microsoft.com/en-us/sql/dma/dma-overview?view=sql-server-ver16

    Was this answer helpful?

    0 comments No comments

Your answer

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