SMS: Long Inventory Package Names Cause Incomplete Inventory (175763)



The information in this article applies to:

  • Microsoft Systems Management Server 1.2

This article was previously published under Q175763

SYMPTOMS

An Inventory package whose name exceeds 40 characters can cause the Systems Management Server Inventory Dataloader service to only partially process a client's inventory if one of these packages is detected on the Systems Management Server client. When one of these MIFs is processed, the information contained in the MIF is ignored by SMS_Inventory_Dataloader without logging any errors in the Datalodr.log file.

-or-

You may also see multiple incomplete inventory records when you view them from the Systems Management Server Administrator utility. These machine inventory records contain only four or five inventory groups in the Personal Computer Properties window of the computer.

Also, you may see duplicate inventory entries.

CAUSE

The symptoms may occur if you have package inventory rules with names that are longer than 40 characters and the Software_Name0 column size in the Software_Comm table in the SMS database is 40 characters. You can check the length of your software package names in the Package.rul file to confirm whether these names contain more than 40 characters.

The Software_Name0 column size was increased from 40 characters to 128 characters in Systems Management Server version 1.2 Service Pack 2. But when you upgrade to Service Pack 2, Dbcnv12a.exe fails to modify the Software_Name0 column size to 128 characters.

When SMS_Inventory_Dataloader processes the MIF that has a software name longer than 40 characters, it fails to load this attribute into SQL and truncates this field. It subsequently ignores the rest of the groups defined in the MIF file. Therefore, an incomplete inventory record appears in Systems Management Server Administrator for this client. It does not log any errors in the Datalodr.log. It also does not move the MIF to the Sms\Site.srv\Datalodr.box\Deltamif.col\Badmifs subdirectory.

The Datalodr.log files looks like the following:
Adding group: MICROSOFT|IDENTIFICATION|1.0...
$$<SMS_INVENTORY_DATA_LOADER><Tue Nov 04 13:07:27 1997~><thread=A0>
Adding group: MICROSOFT|MOUSE|1.0...   $$<SMS_INVENTORY_DATA_LOADER><Tue
Nov 04 13:07:27 1997~><thread=A0>
Adding group: MICROSOFT|VIDEO|1.0...   $$<SMS_INVENTORY_DATA_LOADER><Tue
Nov 04 13:07:27 1997~><thread=A0>
Adding group: MICROSOFT|SOFTWARE|1.0...   $$<SMS_INVENTORY_DATA_LOADER><Tue
Nov 04 13:07:28 1997~><thread=A0>
Adding group: MICROSOFT|SOFTWARE|1.0...   $$<SMS_INVENTORY_DATA_LOADER><Tue
Nov 04 13:07:29 1997~><thread=A0>
Adding group: MICROSOFT|SOFTWARE|1.0...   $$<SMS_INVENTORY_DATA_LOADER><Tue
Nov 04 13:07:30 1997~><thread=A0>
finished processing current machine.   $$<SMS_INVENTORY_DATA_LOADER><Tue
Nov 04 13:07:31 1997~><thread=A0>
~No more machine MIFs to be processed, terminating thread
$$<SMS_INVENTORY_DATA_LOADER><Tue Nov 04 13:07:31

				

WORKAROUND

You can use either of the following workarounds.

The first is to change the names in the inventory packages to 40 characters or fewer. By doing this, the Package.rul and Pkg16.cfg files will be rebuilt and subsequent inventory from the clients will be processed correctly.

The other workaround is to delete the Software group class using the Systems Management Server Database Manager. After deleting a group class, it is important to stop and restart the Systems Management Server Executive service on the site server. Also, in order to keep client resynchronization (resync) jobs from occurring, delete the history (.hms and .smh) files from Sms\Site.srv\Inventory.box\History directory. This will allow the Inventory Data Loader to recreate this table with 128 characters for the length of the Software_Name0 column when it processes a client's inventory.

Modification Type:MinorLast Reviewed:6/14/2005
Keywords:kbbug kbDataLoader kbnetwork KB175763