fnSysMask_GetOSNumberName returns truncated OS name on SQL 2019
search cancel

fnSysMask_GetOSNumberName returns truncated OS name on SQL 2019

book

Article ID: 274127

calendar_today

Updated On:

Products

IT Management Suite

Issue/Introduction

On ITMS installs with MS SQL2019 (at least), 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(113716037156870467)

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".

Environment

ITMS 8.6, 8.7, 8.7.1

Cause

Known issue. This is a Microsoft issue.

Resolution

The issue is resolved after installing the latest cumulative update for SQL 2019.

Now Stored Procedure returns full string as a result and computers are properly identified in the ITMS console.

https://learn.microsoft.com/en-us/troubleshoot/sql/releases/sqlserver-2019/cumulativeupdate22

As a workaround, if newer cumulative updates can't be installed yet:
Set Database compatibility level to "SQL Server 2016(130)" 



Note: You don't need to define the compatibility level on the Database after recent Microsoft updates have been installed.