Microsoft KB Archive/307613

From BetaArchive Wiki

Article ID: 307613

Article Last Modified on 12/3/2007



APPLIES TO

  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange 2000 Server Standard Edition
  • Microsoft Exchange Server 5.5 Standard Edition
  • Microsoft Exchange Server 5.0 Standard Edition
  • Microsoft Exchange Server 4.0 Standard Edition
  • 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



Additional query words: daveh exch2kp2w XADM

Keywords: kberrmsg kbprb KB307613