Menu Close

SCVMM integration with SCOM discovers a duplicate SQL server hosting VMM databases

When you integrate SCVMM with SCOM, you might see a duplicate SQL server get discovered, for the SQL instance hosting the SCVMM databases:

image

 

This is an agentless discovered object, and is hosted by the SCOM servers.  This causes unwanted alerts originating from the SCOM servers, such as “MSSQL on Windows: Monitoring error”

image

You might also see LOTS of 4221 events in your OperationsManager event log on SCOM servers:

Log Name: Operations Manager Source: SQL Server Discovery MP Windows Date: 7/29/2026 12:45:01 PM Event ID: 4221 Task Category: None Level: Error Keywords: Classic User: N/A Computer: SCOM1.opsmgr.net Description: Management Group: "MG1" Module: Microsoft.SQLServer.Windows.Module.Discovery.Discoveries.DatabaseDiscovery Version: 7.12.1619.0 Error(s) was(were) occurred: State: The configuration properties are: ManagementGroupName = MG1 Publisher = SQLDiscoveryWindows ConnectionString = InstanceEdition = InstanceName = SCVMM1.opsmgr.net\INST01 InstanceVersion = null MachineName = null MonitoringType = null NetbiosComputerName = null Login = null ConnectionString = null DatabaseClassId = 00000000-0000-0000-0000-000000000000 DatabaseReferencesUserResourcePoolClassId = 00000000-0000-0000-0000-000000000000 DefaultPoolClassId = 00000000-0000-0000-0000-000000000000 DiscoverySourceManagedEntityId = 00000000-0000-0000-0000-000000000000 DiscoverySourceObjectId = 00000000-0000-0000-0000-000000000000 ExcludeList = null InstanceName = null LocalDatabaseClassId = 00000000-0000-0000-0000-000000000000 MachineName = null SqlExecTimeoutSeconds = 0 SqlTimeoutSeconds = 0 TimeoutSeconds = 0 UserDefinedResourcePoolClassId = 00000000-0000-0000-0000-000000000000 Password = ******** Error(s): ---------- Exception: ---------- Exception Type: System.ArgumentException Message: Version string portion was too short or too long. Source: mscorlib Stack Trace: at System.Version.VersionResult.SetFailure(ParseFailureKind failure, String argument) at System.Version.TryParseVersion(String version, VersionResult& result) at System.Version.Parse(String input) at Microsoft.SQLServer.Module.Helper.DataMapping.XmlConfiguration.PropertyRecord.SetValueFromString(Object target, String strValue) at Microsoft.SQLServer.Module.Helper.DataMapping.XmlConfiguration.XmlConfigurationMapper.Map(XmlReader configuration, Object target) at Microsoft.SQLServer.Module.Helper.Base.ModuleBaseHelper`1.LoadConfiguration(XmlReader configuration)

 

This is a bug, first fixed in SCVMM 2022 UR3, and SCVMM 2025 UR1.

To resolve this issue:

1.  Apply SCVMM 2022 UR3 (or later) or SCVMM 2025 UR1 (or later) to SCVMM

ENSURE you apply the updates for the server, and the admin console components.

Release build versions for System Center Virtual Machine Manager 2022

Release build versions for System Center Virtual Machine Manager 2025

2.  Fix the SCVMM Registry

Open the registry to HKLM\SOFTWARE\Microsoft\Microsoft System Center Virtual Machine Manager Server\Settings\Sql

The InstanceName registry string entry is wrong.  This should be only “MSSQLSERVER” (for a Default instance), or your custom InstanceName if you are using a named instance.

Here is an example of the wrong one:

image

After I fix it:

image

 

3.  Refresh the SCOM connection from SCVMM console:

image

 

image

 

4.  Verify the duplicate DB engine is gone:

image

Leave a Reply

Your email address will not be published.