Error messages are logged when you try to collect performance counters for Exchange (307613)



The information in this article applies to:

  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange 2000 Server
  • Microsoft Exchange Server 5.5
  • Microsoft Exchange Server 5.0
  • Microsoft Exchange Server 4.0
  • Microsoft Windows Small Business Server 2003, Premium Edition
  • Microsoft Windows Small Business Server 2003, Standard Edition

This article was previously published under Q307613
This article is a consolidation of the following previously available articles: 307613

SYMPTOMS

When you try to collect System Monitor data from a Microsoft Exchange Server-based server, you may receive an error message or a series of error messages that are similar to the following error messages in the Exchange Server event log:
Event Type: Error
Event Source: MSExchangeIS
Event Category: Performance
Event ID: 8001
Description:
Unable to read the index for the first counter of the Performance Registry key.
Event Type: Error
Event Source: Perflib Event
Category: None
Event ID: 1008
Description:
The Open Procedure for service "MSExchangeIS" in DLL "E:\EXCHSRVR\bin\mdbperf.dll" failed. Performance data for this service will not be available. Status code returned is DWORD 0.
Event Type: Error
Event Source: Perflib
Event Category: None
Event ID: 1008
Description:
The Open Procedure for service "MSExchangeDSAccess" in DLL "C:\Program Files\Exchsrvr\bin\dscperf.dll" failed. Performance data for this service will not be available. Status code returned is data DWORD 0.
You may notice that some performance counters for Exchange Server are missing. For example, you notice that the MSExchangeIS and MSExchangeIS Public counters are missing. You see only the MSExchangeIS Mailbox counter.

CAUSE

This behavior can occur when one of the following conditions is true:
  • The dynamic link library (DLL) file information for the Microsoft Exchange Performance Monitor counters has become either lost or corrupted in the Microsoft Windows registry.
  • The .dll files, the .ini files, and the .h files for the performance counters are not the same version or are not correctly updated on the problematic server after you apply an Exchange Server service pack.

RESOLUTION

You can restore the Exchange Performance Monitor counters by using one or the other of the following methods:
  • Reinstall the Exchange Server software, and then reapply any service packs

    Note Use only the Reinstall option. This option will replace the missing files. A fresh install will overwrite all files.
  • Use the Lodctr.exe and Unlodctr.exe Windows utilities

    The Microsoft Exchange Server Setup program uses these two utilities to add and to remove Performance Monitor objects and counters. These utilities are included with Windows NT, Windows 2000, and Windows Server 2003. These utilities can be run on a command prompt to restore the Performance Monitor objects and counters if the objects and counters become unavailable in the list of objects in Performance Monitor.

    Note Lodctr.exe adds objects and counters. Unlodctr.exe removes objects and counters.

How to use the Lodctr.exe and Unlodctr.exe utilities to restore the Performance Monitor counters in Windows

Note Each Performance Monitor counter is represented by a configuration file that is located in the Exchange Bin directory.
  1. Use the following syntax to unload a performance driver, where driver is the name of the performance object driver that is located in Performance Monitor:

    Unlodctr.exe driver

    For example, to unload MSExchangeIS counter, type unlodctr.exe MSExchangeIS
  2. Make sure that the .dll files, the .ini files, and the .h files for the performance counters are the same version. Additionally, make sure that the file version, size and date are correct.

    For example, the following four files are necessary for Performance Monitor to correctly display MSExchangeIS counters in Exchange Server 2003:
    • Mdbperf.dll
    • Mdbperfx.dll
    • Mdbperf.ini
    • Perfnm.h
    All four files must come from the same installation of Exchange Server. If the files do not come from the same installation, copy these files from the Exchange Server 2003 service pack CD to the server's \Exchsrvr\Bin directory.

    Notes Because .h files have no version tabs, the setup process depends on file dates to determine whether a file on the hard disk should be overwritten. Make sure to copy the symbol file together with the .dll file and the .ini file. This symbol file has an .h extension.

    To verify which symbol file is linked with the .dll file and the .ini file, edit the .ini file, view the [info] section, and then look for the Symbolfile= parameter.

    You can also verify the version the of the .h file that you are using by opening the Perfnm.h file in Notepad. For example, in Exchange Server 2003, the various versions display the following statements:
    • Original release version

      THIS FILE IS AUTOMATICALLY GENERATED FROM F:\TITANIUM\store\lang\usa\mdbperf.perf

    • SP1 version

      THIS FILE IS AUTOMATICALLY GENERATED FROM F:\TISP1\store\lang\usa\mdbperf.perf

    • SP2 version

      THIS FILE IS AUTOMATICALLY GENERATED FROM F:\TISP2\store\lang\usa\mdbperf.perf

  3. Use the following syntax to reload the object and counter information, where Initialization file name is the name of the .ini file that corresponds to the object and counter information:

    Lodctr.exe Initialization file name

    For example, to load the MSExchangeIS counter, type lodctr.exe c:\program files\exchsrvr\bin\Mdbperf.ini

    If this command does not work from the default directory at the command line, you may have to run the lodctr command directly from the Bin directory. To do this, follow these steps:
    1. Click Start, click Run, type cmd in the Open box, and then click OK.
    2. At the command prompt, type cd \program files\exchsrvr\bin, and then press ENTER.
    3. At the c:\program files\exchsrvr\bin> prompt, type lodctr.exe Mdbperf.ini, and then press ENTER.
    Note Performance Monitor must be restarted after you use either of these utilities. On Windows NT 4.0, the computer must be restarted after you use the lodctr command.

MORE INFORMATION

During setup, Exchange Server uses the Server.ins and other .ins files to issue commands that create the Performance Monitor counters for Exchange Server components. The .ins files point to .ini files that contain instructions for Lodctr.exe about how to create the counters. The .ini files also point to .h files that include additional counter information. The .h files are also known as symbol files. The object and counter information is stored in the registry. However, this information is too complex to be easily entered manually. Therefore, initialization files (.ini) are used.

An example of an entry that contains a command to create the MTA objects is as follows:
CreateProcessSafe:%s\bin;lodctr dsactrs.ini;180000 
Notes Both initialization and header files must be present for the counter to be successfully created.

You can back up the counters by using the following command:

Lodctr /s:c:\windows\<file name of backup>.ini

You may restore the counters from the backup file by using the following command:

Lodctr /r:c:\windows\<file name of backup>.ini

The following is a list of Exchange Performance Monitor objects and their associated configuration files:

Microsoft Exchange 2000 Server and Microsoft Exchange Server 2003
  • Performance Object: MSExchangeAL
    Driver: MSExchangeAL
    File Name: Exchsrvr\Bin\Alsperf.ini
  • Performance Object: Exchange Server HTTP Extensions
    Driver: DAVEX
    File Name: Exchsrvr\Bin\Davexctr.ini
  • Performance Objects: MSExchange Oledb Events, MSExchange Oledb Resource, MSExchange Web Mail
    Driver: EXOLEDB
    File Name: Exchsrvr\Bin\Exodbctr.ini
  • Performance Objects: MSExchangeDSAccess Caches, MSExchangeDSAccess Contexts, MSExchangeDSAccess Processes
    Driver: MSExchangeDSAccess
    File Name: Exchsrvr\Bin\Dscperf.ini
  • Performance Object: MSExchangeIMAP4
    Driver: IMAP4SVC
    File Name: Exchsrvr\Bin\Imap4ctrs.ini
  • Performance Object: EXIPC
    Driver: EPOXY
    File Name: Exchsrvr\Bin\Ipcctrs.ini
  • Performance Objects: Database, Database ==> Instances
    Driver: ESE98
    File Name: Exchsrvr\Bin\Eseperf.ini
  • Performance Object: MSExchangeES
    Driver: MSExchangeES
    File Name: Exchsrvr\Bin\Msesperf.ini
  • Performance Objects: MSExchangeIS, MSExchangeIS Mailbox, MSExchangeIS Public
    Driver: MSExchangeIS
    File Name: Exchsrvr\Bin\Mdbperf.ini
  • Performance Objects: MSExchangeMTA, MSExchangeMTA Connections
    Driver: MSExchangeMTA
    File Name: Exchsrvr\Bin\Mtaperf.ini
  • Performance Object: MSExchangePOP3
    Driver: POP3SVC
    File Name: Exchsrvr\Bin\Pop3ctrs.ini
  • Performance Object: MSExchangeTransport Store Driver
    Driver: SDIIS
    File Name: Exchsrvr\Bin\Sdiisctrs.ini
  • Performance Object: MSExchangeIS Transport Driver
    Driver: SDSTORE
    File Name: Exchsrvr\Bin\Sdstorectrs.ini
  • Performance Object: MSExchangeSA - NSPI Proxy
    Driver: MSExchangeSA
    File Name: Exchsrvr\Bin\Dspctrs.ini
  • Performance Object: MSExchangeSRS (includes Gatherer and Indexing)
    Driver: MSExchangeSRS
    File Name: Exchsrvr\Bin\Srsperf.ini
Microsoft Exchange Server 5.5 and Microsoft Exchange Server 5.0
  • Performance Object: MSExchangeDS
    File Name: \exchsrvr\bin\DSACTRS.INI
  • Performance Object: MSExchangeIMC
    File Name: \exchsrvr\bin\IMCPERF.INI
  • Performance Objects: MSExchangeIS
    File Name: \exchsrvr\bin\MDBPERF.INI
  • Performance Objects: MSExchangeIS Private
    File Name: \exchsrvr\bin\MDBPERF.INI
  • Performance Object: MSExchangeIS Public
    File Name: \exchsrvr\bin\MDBPERF.INI
  • Performance Object: MSExchangeMTA
    File Name: \exchsrvr\bin\MTAPERF.INI
  • Performance Objects: MSExchangeMTAConnections
    File Name: \exchsrvr\bin\MTAPERF.INI
  • Performance Object: MSExchangePCMTA
    File Name: \exchsrvr\msmcon\bin\XTNPERF.INI
  • Performance Objects: MSExchangeATMTA
    File Name: \exchsrvr\msmcon\bin\MACGPERF.INI
  • Performance Objects: MSExchangeMSMI
    File Name: \exchsrvr\msmcon\bin\MTPERF.INI
  • Performance Object: MSExchangeES
    File Name: \exchsrvr\bin\MSESPERF.INI
The following are objects that are specific to Microsoft Exchange Server 5.0:
  • Performance Object: MSExchangeDB
    File Name: \exchsrvr\bin\EDBPERF.INI
  • Performance Object: MSExchangeCCMC
    File Name: \exchsrvr\connect\ccmail\bin\ccmcperf.ini
  • Performance Objects: MSExchangeWEB
    File Name: \exchsrvr\bin\ewsperf.ini

REFERENCES

For more information about the Performance Monitor counters in the release of Exchange Server 5.5, click the following article numbers to view the articles in the Microsoft Knowledge Base:

182502 Changes made to Performance Monitor in Exchange 5.5

192742 Performance Monitor counters unavailable after applying 5.5 S192742


Modification Type:MajorLast Reviewed:8/8/2006
Keywords:kberrmsg kbprb KB307613