Support of software vendors for setting the SQL Server version using the COMPATIBILITY_LEVEL parameter

Oliver Trendelkamp 41 Reputation points
2021-09-28T13:03:29.617+00:00

Does anyone have an idea, why some software vendors do not support setting a SQL Server version via the COMPATIBILITY_LEVEL paramater?

For example, I want to migrate all databases of a SQL Server 2017 to a SQL Server 2019. The software vendor of one database of a third-party application does not yet support the SQL Server 2019 - but also does not provide support, if you move the database to the SQL Server 2019 and leave the COMPATIBILITY_LEVEL on 140 (V2017).

SQL Server
SQL Server
A family of Microsoft relational database management and analysis systems for e-commerce, line-of-business, and data warehousing solutions.
12,757 questions
0 comments No comments
{count} votes

3 answers

Sort by: Most helpful
  1. Tom Phillips 17,716 Reputation points
    2021-09-28T13:22:42.627+00:00

    Setting the compatibility level does NOT make the engine 100% compatible with the other version. It only changes specific functionality. That is why they do not support it.

    However, there are very few "breaking" changes between SQL 2017 and 2019. I would not expect any issues.

    https://learn.microsoft.com/en-us/sql/database-engine/breaking-changes-to-database-engine-features-in-sql-server-version-15?view=sql-server-ver15


  2. Erland Sommarskog 101.4K Reputation points MVP
    2021-09-28T21:30:41.657+00:00

    Because they feel that can only support what they have actually tested.

    Let's say that you upgrade to SQL 2019 and run with compat level 140. Now you run into an issue with the application which all of sudden claims that 2+2=5. The vendor is not able to repro this when they test on SQL 2017. And since your database is on SQL 2019, they cannot restore it on SQL 2017. The vendor will simply tell you that Microsoft broke something. And maybe Microsoft did. It has happened.

    To verify what actually happened can take quite a bit of time for the vendor or so they think. Which they may not really be able to bill you for. So they say up front: this is not supported.

    I can't really disagree with this policy. But it is remarkable that they don't support SQL 2019, given that it has been out for soon two years.


  3. CathyJi-MSFT 21,096 Reputation points Microsoft Vendor
    2021-09-29T02:48:09.48+00:00

    Hi @Oliver Trendelkamp ,

    > why some software vendors do not support setting a SQL Server version via the COMPATIBILITY_LEVEL paramater?

    Did they meet any issue when they upgrade SQL 2017 to SQL 2019, and set the database COMPATIBILITY_LEVEL to 14?

    Quote from MS document Compatibility levels and Database Engine upgrades.

    >Database Compatibility Level is a valuable tool to assist in database modernization, by allowing the SQL Server Database Engine to be upgraded, while keeping connecting applications functional status by maintaining the same pre-upgrade Database Compatibility Level.

    >As long as the application does not need to leverage enhancements that are only available in a higher Database Compatibility Level, it is a valid approach to upgrade the SQL Server Database Engine and maintain the previous Database Compatibility Level.


    If the response is helpful, please click "Accept Answer" and upvote it, as this could help other community members looking for similar thread.