An in-place upgrade replaces the binaries of the existing instance (e.g., MSSQLSERVER), but it doesn't always clean up all the old program files, registry entries, or components (like shared features, client tools, or setup files). That's why "SQL Server 2017" can still appear in Programs and Features (or in Azure portal inventory), even though your engine is now SQL Server 2022.
- Confirm the instance version
- Connect with SSMS and run:
This should report SQL Server 2022 for your upgraded instance.SELECT @@VERSION;
- Connect with SSMS and run:
- Do not uninstall the Database Engine for 2017 separately. The in-place upgrade converted your 2017 binaries into 2022 — uninstalling "SQL Server 2017" in Programs and Features could break the upgraded instance because it's the same
MSSQLSERVERinstance underneath. - Remove only redundant shared components if desired.
- Old client tools, backward-compatibility features, or SDKs from 2017 can be removed if you no longer need them.
- Look for "Microsoft SQL Server 2017 (Shared Features)" or similar entries — those are safe to uninstall.
SQL IaaS Agent Extension should correctly report 2022 as the active version. If you see 2017 still being surfaced, that's often just leftover metadata and not a functional engine.
For Microsoft's recommendation regarding this scenario, refer to https://free.blessedness.top/sql/database-engine/install-windows/upgrade-sql-server
If the above response helps answer your question, remember to "Accept Answer" so that others in the community facing similar issues can easily find the solution. Your contribution is highly appreciated.
hth
Marcin