SMS 2003 Logging

SMS 2003 has many different ways to enable additional logging in the product.  You should only enable additional logging if troubleshooting a specific issue.  Once the issue is resolved disable the logging.  Also note, in most cases when logging settings are modified the associated service (smsexec, ccmexec, etc…) needs to be restarted.

Default Logging (KB241001)
Where the SMS Executive service is installed there should be an HKLM\Software\Microsoft\SMS key.  Under this key there is a “Tracing” key with
different components listed below which contain logging settings.  These are enabled by default and the size for each log can be configured here.  This can also be configured in the UI by using SMS Service Manager.

Software Metering Processor Logging
Additional logging can be added for the SMS_SOFTWARE_METERING_PROCESSOR component (swmproc.log).  You can enable this under HKLM\Software\Microsoft\SMS\Components\SMS_SOFTWARE_METERING_PROCESSOR by setting the “Verbose Logging” value to 1.

Advanced Client/Management Point Logging
The AC/MP logs are very useful but there is additional logging that can be enabled.  It is called
verbose and debug logging.  Go to the section titled “How do I enable DEBUG/VERBOSE logging on the Advanced Client?”.  This logging simply adds additional entries to the existing AC/MP logs.  In addition to this also do the following:
a) Go to the key HKLM\Software\Microsoft\CCM\Logging\DebugLogging
b) Create a new VALUE of type REG_SZ named “Enabled”
c) In the “Enabled” value the data should be “True”

NAL Logging (KB243385)
This logging is only useful on the Legacy client (when communicating with a CAP) or on the site server when communicating with a site system
(like a DP).  This setting does not create a new log, instead it adds additional entries to the component that is using NAL.

Wuser32 Logging (Legacy Remote Control) (KB195859)
This can be enabled on the client side to assist in troubleshooting remote control issues.

Legacy Client ODP/APM Logging (KB327999)
In SMS 2.0 SP5 some logging was taken out of the Legacy client to make some of the logs easier to read.  This change was migrated to the SMS 2003 Legacy client.

Legacy Client Backup Logs
Sometimes when installing the legacy client the install may fail, but not get far enough to create the ms\sms\logs directory structure so you don’t have any record of why the install failed.  To save these off create a folder called SMSLOGS under %TEMP%.  When the install fails again the SMS logs should be in that directory.

SQL Tracing (KB828363)
SQL Tracing is a very useful troubleshooting tool.  It adds additional entries to site server components that communicate with the SMS
database.  The entries it adds are similiar to what you would see if SQL Profiler were running.  This option usually adds a lot of data to the logs so it’s best to increase the size of your SMS logs (at least for the component you are troubleshooting) so that you can make sure and capture the problem.  You might use this logging if inventory wasn’t loading into the database properly.

AD Discovery Verbose Logging
You can add additional logging to the following components:  Active Directory System Discovery (adsysdis.log), Active Directory System Group
Discovery (adsysgrp.log), and Active Directory User Discovery (adusrdis.log).  To do this set the “Verbose Logs” value to 1 for one of the
following components located under HKLM\Software\Microsoft\SMS\Components:

SMS Provider Logging (KB295040)
The SMS provider runs under WMI (smsprov.dll) and is responsible for interfacing between the SMS Admin console (SDK) and the SMS SQL database.  SQL Cache logging can be enabled for the provider.  This is useful when troubleshooting console performance issues.

Verbose WMI Logging (KB317872)
Additional logging can be added for WMI, which is heavily used by the SMS Provider.  This is useful when troubleshooting any SMS Admin Console or SDK issue.

Software Inventory Processor Verbose Logging

Thanks to Hans Ravnaas for this information! 

More verbose logging can be added to sinvproc.log.  This can be configured in the following registry key: HKLM\Software\Microsoft\SMS\Components\SMS_SOFTWARE_INVENTORY_PROCESSOR.
“Verbose Logging”=”TRUE”

The DiskSpaceLimitMB and AgeOutLimitDays values are used to archive inventory reports as they are put into the database.  The archive files are stored in SMS\inboxes\\Temp.  This can be useful when troubleshooting inventory issues at the client.  Also note, you can archive the same reports, plus more, on the client.

The following reports will be saved at the client
Hardware Inventory
Software Inventory
Discovery Data
Software Metering usage reports

To configure an SMS 2003 Advanced Client to save off a copy of the report it sends to its MP, create an empty file under the inventory temp directory called archive_reports.sms. The following registry value will point to the inventory temp directory:

HKLM\Software\Microsoft\SMS\Mobile Client\Inventory —-> “Temp Directory”.


1. To save off inventory reports on a client that is not also an MP, create the
following file:


2. To save off inventory reports on a client that is also an MP, create the
following file:


The XML file will be saved in the inventory\temp folder.

Note: Delete the archive_reports.sms file when you are done trouble-shooting.

* One additional step is needed to create metering reports.  Create a directory under ccm\metering\temp called “archive”.  The reports will show up there

Comments (4)

  1. How to submit discovery reports to an SMS 2003 Management Point using the MP API

  2. Submitting hardware inventory records to an SMS 2003 MP using the MP API

  3. Submitting software inventory records to an SMS 2003 MP using the MP API

  4. Came across this excellent blog post for troubleshooting SMS issues, its helped me out so many times