On ITMS installs with MS SQL2019 (at least), the Stored Procedure "dbo.fnSysMask_GetOSNumberName" returns a truncated OS name instead of the full name.
For example, if you have the following query on your SQL Management Studio on your SQL Server 2019:
select dbo.fnSysMask_GetOSNumberName(
Results:
executed on SQL 2016 returns - "Windows Server 2019"
executed on SQL 2019 returns - "Windows"
This impacts both Windows and ULM agents and is observed in the released ITMS 8.7.1.
This issue is major as it causes clients incorrect identification within filters and targets like all clients are shown as "unmanaged".
ITMS 8.6, 8.7, 8.7.1
This is a known Microsoft issue.
The issue is resolved after installing the latest cumulative update for SQL 2019.
Now the Stored Procedure returns full string as a result and computers are properly identified in the ITMS console:
KB5027702 - Cumulative Update 22 for SQL Server 2019
As a workaround, if newer cumulative updates can't be installed yet then do the following:
Note: You don't need to define the compatibility level on the Database after recent Microsoft updates have been installed.