In an environment where the ContentUtility.exe is used to propagate software signatures from one DSM Manager to another, it's possible, if the ContentUtility.exe is not invoked correctly, to cause corruption in the ca_software_signature table on the import MDB.
Here is an example where corruption is observed in the MDB, denoted by the '&%n&%' characters seen in some records:
<Please see attached file for image>
Generically, you can run this SELECT statement to check for any affected records:
select * from ca_software_signature where signature_data like '%>&%%n&%%<%'
The presence of these characters in the ca_software_signature table will result in a corrupt/malformed signature XML file for software discovery. You can verify this by invoking the amswsigscan.exe process manually, in debug mode:
<Please see attached file for image>
When Intellisig software discovery was added to the product in the ITCM r12.5 SP1 FP1 release, this introduced some changes in ContentUtility.exe for handling Intellisig content. If the ContentUtility.exe process is not used carefully, it could result in the corruption described above.
ContentUtility.exe can be invoked to export/import specific types of software content data based two configurations:
The special characters are introduced in the export operation of the Content Utility when the following line is set in the XML file:
<intellisig_detail>yes</intellisig_detail>
Or when the ContentUtility.exe is passed the following switch when invoked via CLI:
/INTELLISIGDETAIL YES
It is 100% expected to observe the special characters, '&%n&%', in the 'ca_software_signature' flat file generated by the ContentUtility export operation! Again, these characters will be written to the flat file when the intellisig detail option is specified.
In order to avoid corrupting your ca_software_signature table, the import operation MUST have a matching intellisig detail option set! Corruption is introduced in the following scenarios:
In some scenarios, the export and import operations may not occur during the same execution of the ContentUtility.exe process. For example, one execution performs the export operation, and some other execution performs the import operation later. Careful consideration must be taken around the intellisig detail option to ensure ca_software_signature is not corrupted on import.
If the ca_software_signature table has become corrupted, use the following process to fix it: