Microsoft KB Archive/843093

= How to troubleshoot IIS metabase corruption on a Windows 2000 Server-based computer that is running Exchange 2000 Server or Exchange Server 2003 =

Article ID: 843093

Article Last Modified on 12/18/2006

-

APPLIES TO


 * Microsoft Exchange Server 2003 Enterprise Edition
 * Microsoft Exchange Server 2003 Standard Edition
 * Microsoft Exchange 2000 Enterprise Server
 * Microsoft Exchange 2000 Server Standard Edition
 * Microsoft Windows 2000 Server
 * Microsoft Internet Information Services 5.0

-



Important This article contains information about editing the metabase. Before you edit the metabase, verify that you have a backup copy that you can restore if a problem occurs. For information about how to do this, see the &quot;Configuration Backup/Restore&quot; Help topic in Microsoft Management Console (MMC).



SUMMARY
''Microsoft Exchange Server 2003 and Microsoft Exchange 2000 Server use Microsoft Internet Information Services (IIS) to provide support for Exchange-related services. IIS stores its configuration settings in the IIS metabase. The metabase is a database that resides in memory on the computer that is running IIS. When the computer shuts down, all the metabase settings are written to a file that is named Metabase.bin.

If the metabase becomes corrupted, your Exchange environment may become unstable, or Exchange-related services may not start.

You can use several metabase editing tools to view keys in the metabase or to export or import metabase settings. Additionally, you can use these tools to determine whether the problem that you experience occurs because of metabase corruption.''



IN THIS TASK

 * INTRODUCTION
 * Overview of the IIS metabase
 * The MetaEdit tool
 * Overview of metabase corruption
 * How to troubleshoot metabase corruption
 * REFERENCES



INTRODUCTION
This article describes how to troubleshoot IIS metabase corruption issues that you may experience on your computer that is running Exchange Server 2003 or Exchange 2000 Server.

back to the top



Overview of the IIS metabase
IIS was introduced as a separate product when Microsoft Windows NT 3.51 was released. Exchange 2000 Server runs on IIS version 5.0. The core IIS service is named IIS Admin. The core executable file for IIS is Inetinfo.exe. IIS provides the following functionalities for Exchange Server:
 * It provides core protocol and connection management services.
 * It provides core security and authentication mechanisms.
 * It provides core file access and caching.
 * It provides the separation of memory spaces and other functionalities to help increase the stability of Exchange.
 * It controls speed and bandwidth throttling.
 * It is the host for the Simple Mail Transfer Protocol (SMTP) service and for the Network News Transport Protocol (NNTP). These services are included in the host operating system.
 * It is the host for Exchange 2000 Server protocol additions, such as the Microsoft Exchange POP3 service and the Microsoft Exchange IMAP4 service.

The IIS 5.0 metabase is a database that is used to store configuration and property information about IIS. This database is located in the following location:

%systemroot%\system32\inetsrv\metabase.bin

Most IIS settings and IIS-related service settings are stored in the metabase. The metabase replaced the registry for the storage of IIS-related information because the metabase is faster than the registry. Additionally, using the metabase for storage of IIS-related information helps keep the registry from growing too big. The metabase also lets you set properties that are inheritable. The metabase is currently based on the X.500 standard. For example, the metabase has a schema.

The actual metabase does not reside on the hard disk. It is held in the computer's memory. When the computer is shut down, the metabase is committed to the hard disk. Additionally, metabase tools such as MetaEdit, Adsutil.vbs, MetaSnap, and MDUTIL extract the metabase information from the computer's memory. These tools do not read the metabase information from the Metabase.bin file.

Note We recommend that you do not scan the metabase file by using a file-level antivirus program.

back to the top

The MetaEdit tool
Note If you are running IIS 6.0 on Microsoft Windows Server 2003, you will have to use the MBExplorer tool instead of the MetaEdit tool. The MBExplorer tool is included in the IIS 6.0 Resource Kit Tools. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

840671 The IIS 6.0 Resource Kit Tools

To download the IIS 6.0 Resource Kit Tools, visit the following Microsoft Web site:

http://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499

Warning If you edit the metabase incorrectly, you can cause serious problems that may require you to reinstall any product that uses the metabase. Microsoft cannot guarantee that problems that result if you incorrectly edit the metabase can be solved. Edit the metabase at your own risk.

Note Always back up the metabase before you edit it. MetaEdit is a tool that you can use to view the metabase, view or set properties in the metabase, back up the metabase, or import and export the metabase. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

232068 How to download, install, and remove the IIS MetaEdit 2.2 utility

To download MetaEdit, visit the following Microsoft Web site:

http://download.microsoft.com/download/iis50/Utility/5.0/NT45/EN-US/MtaEdt22.exe

How to export metabase settings by using MetaEdit
You may want to export metabase settings to a text file for the following reasons:
 * To help you examine the metabase for corruption
 * To copy or to move metabase settings from one computer to another computer

Note When you create a backup of the metabase by using MetaEdit, we recommend that you use the Backup/Restore command on the Metabase menu instead of exporting your metabase file.

The following example illustrates how to export the metabase settings for the NNTP service. To do this, follow these steps:  Start MetaEdit 2.2. Expand LM, and then click NNTPSVC. On the Metabase menu, click Export Text File. When you receive the following message, click Yes:

Exporting the MetaBase is a time consuming operation.

Exporting World-Wide-Web server settings may also temporarily disable some of your Web applications while your settings are exported.

It is suggested that you export your MetaBase settings during non-peak hours.

Do you want to continue?

 In the File name box, type a name for the text file that you want to export, and then click Save. When you receive the following message, click Yes:

You have chosen to export MetaBase settings to the file:

\

From the currently selected MetaBase path of:

LM\NNTPSVC

Is this correct?

</li> When you receive the following message, click OK:

The MetaBase settings were successfully exported.

</li></ol>

How to import a new key by using MetaEdit
It may be helpful to import metabase settings to a new key when you examine the metabase from another computer. To import the metabase settings from a text file to a new key, follow these steps: <ol> Start MetaEdit 2.2.</li> Click LM.</li> On the Edit menu, point to New, and then click Key.</li> In the NewKey 1 box, type test key, and then press ENTER.</li> On the Metabase menu, click Import Text File, and then click Yes when you receive the following message:

Importing the MetaBase is a potentially destructive function, capable of wiping out all your current settings.

When importing World-Wide-Web server settings, this may also temporarily disable some of your Web applications while your settings are exported.

It is strongly suggested that you make a backup of your MetaBase before you continue.

Do you want to continue?

</li> Click the file that you want to import, and then click Open.</li> When you receive the following message, click No:

Do you want to import the MetaBase settings to the original locations specified in the import file?

Choosing NO will import the settings to a subkey under the currently selected MetaBase path of:

LM\TEST KEY

NOTE: Choosing YES may overwrite your current settings.

</li> When you receive the following message, click Yes:

You have chosen to import MetaBase settings from the file:

\

To a subkey under the current MetaBase path of:

LM\test key

Is this correct?

</li> When you receive the following message, click OK:

The MetaBase settings were successfully imported.

</li></ol>

back to the top

Overview of metabase corruption
If you experience a problem in Exchange Server, you may determine that it is caused by metabase corruption. In this scenario, you may decide to reinstall IIS and Exchange Server to resolve the possible metabase corruption issue. However, when you do this, you lose all customizations that you have made to your World Wide Web configuration. All the Web sites that the particular server hosts lose their custom settings.

Typically, the metabase does not become corrupted. However, there are certain operations or scenarios that may cause metabase corruption: <ul> The %systemroot%\system32\inetsrv\metabase.bin file is scanned at the file level. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

298924 Issues caused by a backup or by a scan of the Exchange 2000 M drive

</li> The IISAdmin.exe process is unexpectedly stopped or terminated.</li> The metabase is edited incorrectly.</li> Hard disk corruption or other hardware failures occur.</li> In certain rare cases, the removal of Exchange Server causes metabase corruption.</li></ul>

There are two kinds of corruption of the metabase:
 * Structural corruption. Structural corruption means that the metabase fields are incorrect. In this scenario, the metabase cannot be extracted correctly by using tools such as Adsutil.vbs and MetaEdit. Structural corruption is the least likely kind of corruption. However, this kind of corruption is the most damaging.
 * Data corruption. Data corruption means that certain fields in the metabase contain incorrect or unexpected values. This is the most common kind of problem where you determine that the metabase is corrupted. Frequently, data corruption is not actually a metabase corruption problem. This problem might be a DS2MB-related problem or another problem.

Symptoms of metabase corruption
You may experience one or more of the following symptoms. These symptoms indicate that the metabase is corrupted: <ul> <li>The Exchange System Manager program is not stable after you rename a virtual directory or after you perform any actions that make changes to the metabase.</li> <li>After you enable diagnostics logging for the Metabase update process (DS2MB), you receive failure errors such as the following error code:

MSExchangeMU 1025

</li> <li>IIS or IIS subcomponents may stop responding or may become unstable.</li> <li>The Microsoft Exchange System Attendant service does not start, or it stops responding when you start the computer.</li></ul>

Symptoms that may be incorrectly attributed to metabase corruption
The following symptoms may be incorrectly attributed to metabase corruption:
 * E-mail flow stops working. This symptom may indicate a metabase corruption issue. However, on its own, this particular symptom does not mean that the metabase is corrupted.
 * You receive 4.3.1 &quot;Out of memory&quot; errors. This symptom may indicate a metabase corruption issue. However, on its own, this particular symptom does not mean that the metabase is corrupted. In this scenario, enumerate the SMTPSVC key in the metabase to see if this key is corrupted. If this key is not corrupted, continue to troubleshoot other causes of this symptom.

<div class="moreinformation_section">


 * The Simple Mail Transfer Protocol (SMTP) service is missing or has been removed.

<div class="moreinformation_section">

<ul> <li>Insufficient or incorrect permissions exist on the Active Directory Service Interfaces (ADSI) provider or on the metabase.</li> <li>Event ID 7031 appears in the event log. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

316612 IIS and Exchange services quit unexpectedly

</li> <li>Other NetBIOS or IP problems exist on the network.</li></ul>

back to the top

How to troubleshoot metabase corruption
To troubleshoot metabase corruption issues that you may experience, use the following procedures.

Troubleshoot the Metabase.bin file
<ol> <li>Verify that a file-level virus scanner is not scanning the following location:

%windir%\system32\inetsrv\metabase.bin

</li> <li>Verify the permissions on the Metabase.bin file.

Note This file is used only to commit the metabase from memory to the hard disk so that Windows can load this information into memory when the computer next starts.

By default, the following permissions exist on the Metabase.bin file in Windows 2000: </li></ol>

If a file-level virus scanning program scans the Metabase.bin file, see the &quot;Tools to determine the structural integrity of the metabase&quot; section.

View the recent history of the affected computer
Determine the recent history of the computer system. If the computer experienced operating system failures, hard disk corruption, or other hardware failures, the metabase might become corrupted. To troubleshoot this, see the &quot;Tools to determine the structural integrity of the metabase&quot; section.

Increase diagnostics logging on the metabase update process DS2MB
To increase diagnostics logging on the DS2MB process, follow these steps:
 * 1) Start the Exchange System Manager program.
 * 2) If administrative groups are enabled, expand Administrative Groups, and then expand.
 * 3) Expand Servers, right-click , and then click Properties.
 * 4) Click the Diagnostics Logging tab, click MSExchangeMU in the Services list, click General in the Categories list, and then click Maximum.
 * 5) Click Apply, and then click OK.

For more information, click the following article number to view the article in the Microsoft Knowledge Base:

303638 How to enable logging for Directory Service to Metabase replication

<div class="moreinformation_section">

Back up the server before you reinstall IIS
If you remove and replace IIS to correct a suspected metabase corruption issue, we recommend that you first back up your server, including the metabase. By using the back-up, we can re-create your particular environment in a Microsoft Product Support Services (PSS) lab environment.

When you are using Exchange Server, most metabase corruption issues are related to the corruption of the SMTPSvc keys in the IIS metabase. Therefore, if you must reinstall the Simple Mail Transfer Protocol (SMTP) service, you can use the SMTP Reinstall tool that is included with Microsoft Exchange 2000 Server Service Pack 2 (SP2) and in later versions of Exchange Server. The SMTP Reinstall tool, Smtpreinstall.exe, is available in the Support Tools folder on the Exchange SP2 CD. You can use this tool to repair Exchange 2000 Server without completely reinstalling Exchange Server. For example, you might want to do this if you remove the Windows 2000 Simple Mail Transfer Protocol (SMTP) service. To repair Exchange Server, you must first reinstall the Simple Mail Transfer Protocol (SMTP) service and then run the SMTP Reinstall tool. However, the SMTP Reinstall tool cannot be used on a server cluster that is running. Instead of using the SMTP Reinstall tool on a server cluster, reinstall the Simple Mail Transfer Protocol service, and then completely reinstall Exchange Server and any previously applied Exchange Server service packs.

Determine the environment where a question mark icon appears on the Default Virtual Server in Exchange System Manager
Consider the following:
 * When you are connected to the server locally, Exchange System Manager uses a local Remote Procedure Call (RPC) connection to examine the metabase for the Default Virtual Server information.
 * When you are connected to the server remotely, Exchange System Manager uses a DCOM connection to examine the metabase for the Default Virtual Server information.

Tools to determine the structural integrity of the metabase
You can perform several tests to determine whether there is any structural corruption of the metabase. Before you perform any tests on the metabase we recommend that you back up the metabase. To back up the metabase, follow these steps:
 * 1) Start the Internet Information Services tool.
 * 2) Click your server, and then click Backup/Restore Configuration on the Action menu.
 * 3) Click Create backup, type a name for this backup in the Configuration backup name box, and then click OK.
 * 4) Click Close.

Additionally, if you receive an error message when you try to enumerate the metabase by using the MDUTIL tool, we recommend that you try to open the metabase by using MetaEdit.

Note In this scenario, record all the error messages that you receive so that you can supply this information to PSS, if you have to.

For more information about tools that you can use to enumerate the metabase, click the following article number to view the article in the Microsoft Knowledge Base:

240225 Description of Adsutil and MetaEdit utilities used to modify the Metabase

MetaEdit

You may receive the following error message when you try to enumerate the metabase by using MetaEdit:

A Fatal Error Occurred Trying to Connect to LOCALHOST (0)&quot; &quot;Error -2147024893

We have researched this error and have determined that this error message indicates that the metabase is corrupted.

MDUTIL

MDUTIL.exe is included in the IIStools.zip package. You can use the following command to direct all the metabase information to a text file:

mdutil.exe enum_all >outputfile.txt

Metasnap

Metasnap.exe is included in the IIStools.zip package. You can use the following command to direct metabase information to a text file:

metasnap /schema localhost -s >outputfile.txt

Note In this command, the /schema option extracts information from the schema hive. Use the /LM option or the /RESVC option to extract information from the corresponding metabase hives.

Adsutil.vbs

Adsutil.vbs requires Windows Scripting Host. Additionally, if you have SSL certificates installed on the Exchange site, Adsutil.vbs will unexpectedly quit. In this scenario, you may not obtain a complete output from the metabase. You can run the following command to extract metabase information:

C:\INETPUB\ADMINSCRIPTS>cscript adsutil.vbs enumall >outputfile.txt

<div class="moreinformation_section">

back to the top

<div class="references_section">