FIX: WMI query returns incorrect results when a service instance ID is used in BizTalk Server

Symptoms

Assume that you run a Windows Management Instrumentation (WMI) query on a computer that is running BizTalk Server 2006 R2, BizTalk Server 2010, or BizTalk Server 2013. If the query uses a service instance ID against the MSBTS_MessageInstance WMI class, the query may return an incorrect result.

For example, assume that you use the following code to create a WMI query in a given service instance ID. If the service instance contains two messages, only one message is returned.

using System.Management; 
ManagementScope mgmtScope = new ManagementScope();
mgmtScope.Path.NamespacePath = "root\\MicrosoftBizTalkServer";
ManagementObjectSearcher objectSearcher = new ManagementObjectSearcher(mgmtScope, new SelectQuery("MSBTS_MessageInstance", "ServiceInstanceId = \"{" + SERVICE_INSTANCE_ID + "}\""));
objectSearcher.Options.EnsureLocatable = true;
ManagementObjectCollection coll = objectSearcher.Get();
Note SERVICE_INSTANCE_ID is a string representation of the service instance ID (GUID).

Cause

This issue occurs because of an error in the msgbox_application_logic.sql script.

Resolution

Cumulative update information

This issue was first fixed in the following cumulative update of BizTalk Server:

Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

More Information

For more information about the MSBTS_ServiceInstance WMI class, visit the following MSDN website:
Proprietăți

ID articol: 2629481 - Ultima examinare: 10 oct. 2015 - Revizie: 1

Feedback