IIS Metabase
Prior to IIS 7, Microsoft's Internet Information Services stores its information in an internal database called the MetaBase. The metabase is an inheritable, hierarchical database that allows for configuration of HTTP/HTTPS, FTP, SMTP, and NNTP at the server, the site, or the folder or file level. Different versions of IIS use different formats; prior to IIS version 6 this was always a proprietary format, whereas with 6.0 and later the data is stored in XML files. The metabase consists of two files, MetaBase.xml and MBSchema.xml, stored in the %SystemRoot%\system32\inetsrv\
directory. The metabase periodically gets backed up to the MetaBack
subdirectory.
When Internet Information Service starts, it reads the two metabase files to create an in-memory cache of the web server's configuration, which is referred to as the in-memory metabase.[1] Changes to the IIS configuration via the IIS Manager or programmatic changes get written to the in-memory metabase, then are persisted to the on-disk MetaBase.xml file after a number of changes.[2]
Internet Information Services' central metabase is eliminated in IIS version 7 in favor of a set of XML configuration files that are located centrally in the Machine.config
and ApplicationHost.config
files and within the web site's infrastructure using web.config
files. This allows for synchronization of web sites across servers by including all configuration information within the web site's root directory.
Metabase administration
The IIS Manager interface, an MMC-based administration console, is the primary means of modifying the Metabase. IIS also optionally provides a web-based administration console. The XML files are human-readable, and when the Allow direct metabase edits feature is turned on (not recommended by Microsoft[3]) it can be viewed and edited with simple text editing software like Notepad.
The Metabase is also programmable through several APIs - Admin Base Objects (ABO), Active Directory Services Interface (ADSI), Windows Management Instrumentation (WMI), and the .NET Framework's System.DirectoryServices and Microsoft.Web.Administration.
The Metabase can also be administered using the Metabase Explorer tool which is part of the Internet Information Services (IIS) 6.0 Resource Kit Tools
References
- The Microsoft IIS Team (2004). Internet Information Services (IIS) 6.0 Resource Kit. Redmond, Wash: Microsoft Press. pp. 513–564. ISBN 0-7356-1420-2.
- "Overview of the IIS 6.0 Metabase". Microsoft Corporation. 2005-08-22. Archived from the original on 2007-08-16. Retrieved 2007-09-10.
- "How to Enable the Enable Direct Metabase Edit Feature in IIS Manager". Microsoft Corporation. 2005-05-23. Retrieved 2007-09-10.