The creation of multiple recoverable units within a database allows a
database partition to be reconstructed during maintenance and disaster
recovery operations. A method of creating a recovery unit includes
partitioning a database into at least two recovery units. A primary
catalog of metadata relating to the logical elements of a database such
as tables, indexes, and file groups is created. A secondary catalog of
metadata relating to the physical elements of a database such as pages,
files, B-Trees, and log streams is created for each recovery unit. The
primary and secondary metadata catalogs are linked such that only one log
stream is associated with any one recovery unit. A single recovery unit
may then be exercised to perform recovery or maintenance operations while
the remaining recovery units of the database remain online.