You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
340 lines
12 KiB
340 lines
12 KiB
<Schema name="VssTestWriterConfig"
|
|
xmlns="urn:schemas-microsoft-com:xml-data"
|
|
xmlns:dt="urn:schemas-microsoft-com:datatypes">
|
|
|
|
<!-- Here we define all attributes that may be used across different elements of the document -->
|
|
<AttributeType name="filespec" dt:type="string">
|
|
<description>
|
|
File specification. Can include wildcard characters ? and *
|
|
</description>
|
|
</AttributeType>
|
|
|
|
<AttributeType name="path" dt:type="string">
|
|
<description>
|
|
Path to a file. The path can include environment variables or
|
|
values extracted from registry keys.
|
|
</description>
|
|
</AttributeType>
|
|
|
|
<AttributeType name="recursive" dt:type="enumeration"
|
|
dt:values="yes no">
|
|
<description>
|
|
Is path specified recursive or limited to the directory that is specified.
|
|
</description>
|
|
</AttributeType>
|
|
|
|
<AttributeType name="alternatePath" dt:type="string">
|
|
<description>
|
|
Alternate path in which to find the file. Files in a file group may
|
|
have been copied to an alternative location by the writer. Backup should
|
|
pick up the files from the alternative location instead of the original
|
|
location but should restore the files to their original location
|
|
</description>
|
|
</AttributeType>
|
|
|
|
<AttributeType name="logicalPath" dt:type="string">
|
|
<description>
|
|
Logical path for a Writer component. This logical name uses backslash
|
|
as separators to form a logical namespace hierarchy
|
|
</description>
|
|
</AttributeType>
|
|
|
|
<AttributeType name="componentName" dt:type="string">
|
|
<description>
|
|
Name used to identify a Writer component. May be qualified by a
|
|
logical path.
|
|
</description>
|
|
</AttributeType>
|
|
|
|
<!-- Here we define all of the possible elements of the document -->
|
|
<ElementType name="TestWriter" content="eltOnly" model="closed">
|
|
<description>
|
|
Configuration information for the VSS Test Writer.
|
|
</description>
|
|
|
|
<AttributeType name="usage" dt:type="enumeration"
|
|
dt:values="USER_DATA
|
|
BOOTABLE_SYSTEM_STATE
|
|
SYSTEM_SERVICE
|
|
OTHER">
|
|
<description>
|
|
How the data associated with the writer is used.
|
|
</description>
|
|
</AttributeType>
|
|
|
|
<AttributeType name="verbosity" dt:type="enumeration"
|
|
dt:values="low medium high">
|
|
<description>
|
|
Whether verbose output is enabled.
|
|
low: Messages are not printed if files are not properly restored
|
|
medium: Most general messages are printed, including warnings if files are not restored
|
|
high: Extremely verbose output is enabled.
|
|
</description>
|
|
</AttributeType>
|
|
|
|
<AttributeType name="checkExcludes" dt:type="enumeration"
|
|
dt:values="yes no">
|
|
<description>
|
|
Whether to check that excluded files are not restored at restore time.
|
|
If restoring to a location that may contain files matching the exclude list,
|
|
set this to false to prevent spurious warnings.
|
|
</description>
|
|
</AttributeType>
|
|
|
|
<AttributeType name="checkIncludes" dt:type="enumeration"
|
|
dt:values="yes no">
|
|
<description>
|
|
Whether to check that included files are restored at restore time.
|
|
</description>
|
|
</AttributeType>
|
|
|
|
<attribute type="usage" default="OTHER" />
|
|
<attribute type="verbosity" default="medium" />
|
|
<attribute type="checkExcludes" default="yes" />
|
|
<attribute type="checkIncludes" default="yes" />
|
|
<element type="RestoreMethod" />
|
|
|
|
<group order="many">
|
|
<element type="ExcludeFile" minOccurs="0" maxOccurs="*" />
|
|
<element type="Component" minOccurs="0" maxOccurs="*" />
|
|
<element type="FailEvent" minOccurs="0" maxOccurs="*" />
|
|
</group>
|
|
</ElementType>
|
|
|
|
<ElementType name="RestoreMethod" content="eltOnly" model="closed">
|
|
<description>
|
|
How restore should be performed. Includes specification of how files
|
|
should be restored as well as special steps that should occur in order
|
|
to complete the restore.
|
|
</description>
|
|
|
|
<AttributeType name="method" dt:type="enumeration"
|
|
dt:values="RESTORE_IF_NONE_THERE
|
|
RESTORE_IF_CAN_BE_REPLACED
|
|
STOP_RESTART_SERVICE
|
|
REPLACE_AT_REBOOT
|
|
REPLACE_AT_REBOOT_IF_CANNOT_REPLACE
|
|
RESTORE_TO_ALTERNATE_LOCATION
|
|
CUSTOM">
|
|
<description>
|
|
RESTORE_IF_NONE_THERE: i.e., can restore data if it is not at the
|
|
location where it was backed up from. This essentially allows
|
|
data to be restored to a clean system
|
|
RESTORE_IF_CAN_BE_REPLACED: Restore data if all of the files can
|
|
be replaced in the orgiginal backup location. Fails if any of
|
|
the files are open. If an alternate location is provided, files
|
|
will be placed there if they cannot be restored to their original
|
|
location.
|
|
STOP_RESTART_SERVICE: stop service (service attribute must be
|
|
specified). Restore files to original backup location.
|
|
Restart service. Fails if any of the files are open after the
|
|
service is stopped.
|
|
REPLACE_AT_REBOOT: Restore files to a temporary location. Use
|
|
MoveFileEx to replace the files at reboot.
|
|
REPLACE_AT_REBOOT_IF_CANNOT_REPLACE: Similiar to REPLACE_AT_REBOOT
|
|
however files may be restored in place in they are not busy. All files
|
|
within a component must be either completely replaced in place or
|
|
completely replaced at reboot, so if one component file is busy, all files
|
|
in that component must be replaced at reboot.
|
|
|
|
RESTORE_TO_ALTERNATIVE_LOCATION: Restore files to an alternate
|
|
location. Typically writerRestore will indicate that the writer
|
|
will participate in the restore process
|
|
CUSTOM: Custom restore method. Requestor's should not handle this
|
|
case at all for this writer.
|
|
</description>
|
|
</AttributeType>
|
|
|
|
<AttributeType name="service" dt:type="string">
|
|
<description>
|
|
Must be specified if method="STOP_RESTART_SERVICE", indicates
|
|
service to be stopped before restoring files.
|
|
</description>
|
|
</AttributeType>
|
|
|
|
<AttributeType name="writerRestore" dt:type="enumeration"
|
|
dt:values="always never ifReplaceFails">
|
|
<description>
|
|
Whether writer should be invoked after files are restored to
|
|
disk. Options are always, never, and ifReplaceFails. The latter means
|
|
that the files will be restored to their original location. If one
|
|
or more of the files cannot be replaced, then the files will be
|
|
restored to an alternate location (must be specified via
|
|
ALTERNATE_LOCATION_MAPPING. After the files are restored, the writer
|
|
is invoked.
|
|
</description>
|
|
</AttributeType>
|
|
|
|
<AttributeType name="rebootRequired" dt:type="enumeration"
|
|
dt:values="yes no">
|
|
<description>
|
|
Should a reboot be performed after restoring the data for this
|
|
writer
|
|
</description>
|
|
</AttributeType>
|
|
|
|
<attribute type="method" required="yes" />
|
|
<attribute type="service" required="no" />
|
|
<attribute type="writerRestore" default="never" />
|
|
<attribute type="rebootRequired" default="no" />
|
|
|
|
<element type="AlternateLocationMapping" minOccurs="0" maxOccurs="*" />
|
|
</ElementType>
|
|
|
|
<ElementType name="Dependency" content="empty" model="closed">
|
|
<description>
|
|
A dependency from one component to another component in another writer.
|
|
</description>
|
|
|
|
<AttributeType name="writerId" dt:type="uuid" required="yes">
|
|
<description>
|
|
Id of writer that this component is dependent on.
|
|
</description>
|
|
</AttributeType>
|
|
|
|
|
|
<attribute type="writerId" required="yes" />
|
|
<attribute type="logicalPath" required="no" />
|
|
<attribute type="componentName" required="yes" />
|
|
</ElementType>
|
|
|
|
<ElementType name="ComponentFile" content="empty" model="closed">
|
|
<description>
|
|
Location of a file in a component. For database components, the alternatePath
|
|
attribute is ignored.
|
|
</description>
|
|
|
|
<attribute type ="path" required="yes" />
|
|
<attribute type="filespec" required="yes" />
|
|
<attribute type="recursive" required="yes" />
|
|
<attribute type="alternatePath" required="no" />
|
|
</ElementType>
|
|
|
|
<ElementType name="ExcludeFile" content="empty" model="closed">
|
|
<description>
|
|
Location of a file that the writer should mark as excluded from backup.
|
|
</description>
|
|
|
|
<attribute type ="path" required="yes" />
|
|
<attribute type="filespec" required="yes" />
|
|
<attribute type="recursive" required="yes" />
|
|
</ElementType>
|
|
|
|
<ElementType name="Component" content="eltOnly" model="closed">
|
|
<description>
|
|
Description of a Writer component. Currently this can describe either a file-group
|
|
component or a database component.
|
|
</description>
|
|
|
|
<AttributeType name="componentType" dt:type="enumeration"
|
|
dt:values="database filegroup">
|
|
<description>
|
|
specified the type of a Writer component
|
|
</description>
|
|
</AttributeType>
|
|
|
|
<AttributeType name="selectable" dt:type="enumeration"
|
|
dt:values="yes no">
|
|
<description>
|
|
Is this component selectable for backup or is it always backed up.
|
|
If no, then the component is always backed up if any other components of
|
|
the application/service are backed up. If yes, then the
|
|
component may be selectively backed up.
|
|
</description>
|
|
</AttributeType>
|
|
|
|
<AttributeType name="selectableForRestore" dt:type="enumeration"
|
|
dt:values="yes no" >
|
|
<description>
|
|
Is this component selectable for restore
|
|
</description>
|
|
</AttributeType>
|
|
|
|
<AttributeType name="restoreTarget" dt:type="enumeration"
|
|
dt:values="VSS_RT_ORIGINAL
|
|
VSS_RT_ALTERNATE">
|
|
<description>
|
|
Allows the writer to override the restore method for this component in the PreRestore event.
|
|
VSS_RT_ORIGINAL: all files in this component should be restored to their original locations.
|
|
VSS_RT_ALTERNATE: all files in this component should be restored to the previously specified alternate location
|
|
</description>
|
|
</AttributeType>
|
|
|
|
|
|
<attribute type="componentType" required="yes" />
|
|
<attribute type="logicalPath" required="no" />
|
|
<attribute type="componentName" required="yes" />
|
|
<attribute type="selectable" default="yes" />
|
|
<attribute type="selectableForRestore" default="no" />
|
|
<attribute type="restoreTarget" required="no" />
|
|
|
|
<group order="many">
|
|
<element type="ComponentFile" minOccurs="0" maxOccurs="*" />
|
|
<element type="Dependency" minOccurs="0" maxOccurs="*" />
|
|
</group>
|
|
</ElementType>
|
|
|
|
<ElementType name="FailEvent" content="empty" model="closed">
|
|
<description>
|
|
Specifies an event that the Test Writer will fail.
|
|
</description>
|
|
|
|
<AttributeType name="writerEvent" dt:type="enumeration"
|
|
dt:values="Identify
|
|
PrepareForBackup
|
|
PrepareForSnapshot
|
|
Freeze
|
|
Thaw
|
|
PostSnapshot
|
|
Abort
|
|
BackupComplete
|
|
BackupShutdown
|
|
PreRestore
|
|
PostRestore">
|
|
<description>
|
|
Defines the list of events that a Writer can fail.
|
|
</description>
|
|
</AttributeType>
|
|
|
|
<AttributeType name="retryable" dt:type="enumeration"
|
|
dt:values="yes no">
|
|
<description>
|
|
Whether the failure should be retryable or not
|
|
</description>
|
|
</AttributeType>
|
|
|
|
<AttributeType name="numFailures" dt:type="number">
|
|
<description>
|
|
If the failure is retryable, then this parameter indicates the number of times the writer should
|
|
fail the event.
|
|
</description>
|
|
</AttributeType>
|
|
|
|
<attribute type="writerEvent" required="yes" />
|
|
<attribute type="retryable" default="yes" />
|
|
<attribute type="numFailures" default="1" />
|
|
</ElementType>
|
|
|
|
<ElementType name="AlternateLocationMapping" content="empty" model="closed">
|
|
<description>
|
|
Mapping from a location that was backed up to a location to restore to.
|
|
</description>
|
|
|
|
<attribute type="path" required="yes" />
|
|
<attribute type="filespec" required="yes" />
|
|
<attribute type="recursive" default="no" />
|
|
<attribute type="alternatePath" required="yes" />
|
|
</ElementType>
|
|
|
|
<ElementType name="NewTarget" content="empty" model="closed">
|
|
<description>
|
|
A new target path for a file that the Writer specifies at restore time.
|
|
</description>
|
|
|
|
<attribute type="path" required="yes" />
|
|
<attribute type="filespec" required="yes" />
|
|
<attribute type="recursive" required="yes" />
|
|
<attribute type="alternatePath" required="no" />
|
|
</ElementType>
|
|
|
|
</Schema>
|