The IIS Metabase

Applies To: Windows Server 2003, Windows Server 2003 with SP1

The IIS metabase is a plaintext, XML data store that contains most IIS configuration information. Although most of the IIS configuration settings are stored in the IIS metabase, a few settings are maintained in the Windows registry. If a configuration setting is one that you might need to configure or change, or if you can access the setting in the IIS 6.0 user interface, then the setting is typically stored in the IIS metabase.

The new XML metabase allows administrators to directly read and edit the configuration file without using scripts or code, by using a common text editor such as Notepad. The XML metabase makes it easier to diagnose potential metabase corruption, and to back up and restore your metabase files.

If you upgrade to IIS 6.0, the existing binary metabase is automatically converted to the new XML metabase. The metabase is 100 percent compatible with IIS 5.x metabase application programming interfaces (APIs) and Active Directory® directory service Service Interfaces (ADSI), ensuring that existing scripts and code continue to work.

For more information about the metabase, see Working with the Metabase.

Metabase Elements

IIS 6.0 replaces the single binary file (MetaBase.bin) of earlier IIS versions with two XML files: MetaBase.xml and MBSchema.xml. IIS stores these files in the systemroot\System32\Inetsrv folder of your computer. To view and modify these files, you must be a member of the Administrators group.

The metabase consists of the following elements:

  • MetaBase.xml file. This file stores IIS configuration information that is specific to an installation of IIS.

  • MBSchema.xml file. This file contains the metabase schema. The MBSchema.xmlfileis a master configuration file that defines default attributes for all metabase properties and enforces rules for constructing and placing metabase entries within the metabase.

  • In-memory metabase. The in-memory metabase contains the most current metabase and metabase schema configuration. The in-memory metabase accepts changes to the metabase configuration and schema, storing them in RAM, and periodically writing changes to the on-disk metabase and metabase schema files.

When IIS starts, the MetaBase.xml and MBSchema.xml files are read by the IIS storage layer and copied to the in-memory metabase. While IIS is running, any changes that you make to the in-memory metabase are periodically written to disk. IIS also saves the in-memory metabase to disk when you stop IIS.

The IIS Admin service makes the metabase available (by means of the Admin Base Object) to other applications, including the core components of IIS, applications built on IIS, and applications that are independent of IIS, such as management or monitoring tools.

Automatic Versioning and History

IIS 6.0 also provides automatic versioning and history. This metabase history feature automatically tracks any changes to the metabase that are written to disk. When the metabase is written to disk, IIS marks the new MetaBase.xml file with a version number and saves a copy of the file in the history folder. Each history file is marked with a unique version number, which is then available, if needed, for metabase rollback or restore. The metabase history feature is enabled by default.

For more information about the metabase, see Working with the Metabase.