Microsoft KB Archive/307613

= Error messages are logged when you try to collect performance counters for Exchange =

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 &quot;MSExchangeIS&quot; in DLL &quot;E:\EXCHSRVR\bin\mdbperf.dll&quot; 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 &quot;MSExchangeDSAccess&quot; in DLL &quot;C:\Program Files\Exchsrvr\bin\dscperf.dll&quot; 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.  Use the following syntax to unload a performance driver, where  is the name of the performance object driver that is located in Performance Monitor:

Unlodctr.exe

For example, to unload MSExchangeIS counter, type unlodctr.exe MSExchangeIS  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</li></ul>

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: <ul> Original release version

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

</li> SP1 version

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

</li> SP2 version

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

</li></ul> </li> Use the following syntax to reload the object and counter information, where  is the name of the .ini file that corresponds to the object and counter information:

Lodctr.exe

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: <ol> Click Start, click Run, type cmd in the Open box, and then click OK.</li> At the command prompt, type cd \program files\exchsrvr\bin, and then press ENTER.</li> At the c:\program files\exchsrvr\bin> prompt, type lodctr.exe Mdbperf.ini, and then press ENTER.</li></ol>

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.</li></ol>

<div class="moreinformation_section">

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\ .ini

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

Lodctr /r:c:\windows\ .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

<div class="references_section">