Wednesday, August 8, 2012

How To Restore Corrupted Metabase.xml file

If you are attempting to start IIS or IIS Admin services and IIS will not start or you get an error when trying to start the IIS Admin services such as:

“Error: 1393:  The file or directory is corrupted and unreadable”

This more than likely means there is a corrupted metabase.xml file that is preventing IIS to start properlly.

To fix this.  If you are running IIS6, luckly IIS6 stores backup files of the metabase.xml file in a history folder under “c:\windows\system32\inetsrv\history” directory.

Browse to this directory (on the SharePoint Server) and look for a metabase.xml file that you know is not corrupted.  I usually pick one from a few days prior before IIS became corrupt.

The xml file name structure is usually in this type of format:

MetaBase_0000001111_0000000000.xml

I simply just make a copy of this file and paste it back into the same directory.  You can do what you want, but you will need to make a copy of the MetaBase file.

I then just rename the file to:  MetaBase.xml

Next just right click and copy the new MetaBase.xml file you just renamed.

Go back up one directory to “c:\windows\system32\inetserv” and paste the new MetaBase.xml file into this directory.

When prompted to overwrite the existing file, say “yes”

After replacing the corrputed MetaBase.xml file, run iisreset /noforce from the command line to accept the new change.

Attempt to restart the IIS Admin Services again.  If the IIS Admin Services start, open up the IIS Managment Console to make sure IIS has indeed started and you can see your Application Pools and Web Sites.

*Note*  Sometimes the corrupted MetaBase.xml file can not be deleted, modified or replaced.  When this happens you will need to do a chkdsk /f  c: to run the windows check disk function.

If you can’t run the chkdsk /f c: command while still logged into the Server you will need to reboot the system into safe mode to attempt the chkdsk.

Sometimes depending on which server version you are running (i’ve only encountered this on Windows Server 2003) once the system is rebooted chkdsk will automatically begin fixing the corrupted MetaBase.xml.

If you see that chkdsk is deleting Metabase.xml and MetaSchema.xml files, don’t panic.  This is good, its getting rid of the bad files.  Once chkdsk is completed and you are booted back into windows.  Follow the same steps above to replace the corrupted MetaBase.xml file.

No comments:

Post a Comment