Leaked source code of windows server 2003
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.

355 lines
12 KiB

  1. <Schema name="VssWriterMetadataInfo"
  2. xmlns="urn:schemas-microsoft-com:xml-data"
  3. xmlns:dt="urn:schemas-microsoft-com:datatypes">
  4. <AttributeType name="filespec" dt:type="string" required="yes">
  5. <description>
  6. File specification. Can include wildcard characters ? and *
  7. </description>
  8. </AttributeType>
  9. <AttributeType name="path" dt:type="string" required="yes">
  10. <description>
  11. Path to a file. The path can include environment variables or
  12. values extracted from registry keys.
  13. </description>
  14. </AttributeType>
  15. <AttributeType name="recursive" dt:type="enumeration"
  16. dt:values="yes no" default="no">
  17. <description>
  18. Is path specified recursive or limited to the directory that is specified.
  19. </description>
  20. </AttributeType>
  21. <AttributeType name="alternatePath" dt:type="string" required="no">
  22. <description>
  23. Alternate path in which to find the file. Files in a file group may
  24. have been copied to an alternative location by the writer. Backup should
  25. pick up the files from the alternative location instead of the original
  26. location but should restore the files to their original location
  27. </description>
  28. </AttributeType>
  29. <AttributeType name="logicalPath" dt:type="string" required="no">
  30. <description>
  31. Logical path for a database or file group. This logical name uses backslash
  32. as separators to form a logical namespace hierarchy
  33. </description>
  34. </AttributeType>
  35. <AttributeType name="componentName" dt:type="string" required="yes">
  36. <description>
  37. Name used to identify a database or file group. May be qualified by a
  38. logical path.
  39. </description>
  40. </AttributeType>
  41. <AttributeType name="restoreMetadata" dt:type="enumeration"
  42. dt:values="yes no" default="no">
  43. <description>
  44. Restore metadata exists for this database or file group. Backup
  45. application should capture the restore metadata and pass it to the
  46. writer on restore.
  47. </description>
  48. </AttributeType>
  49. <AttributeType name="notifyOnBackupComplete" dt:type="enumeration"
  50. dt:values="yes no" default="no">
  51. <description>
  52. Writer should be notified when backup is complete whether this
  53. database or file group was successfully backed up or not.
  54. </description>
  55. </AttributeType>
  56. <AttributeType name="caption" dt:type="string" required="no">
  57. <description>
  58. Textual Description of database or file group
  59. </description>
  60. </AttributeType>
  61. <AttributeType name="icon" dt:type="string" required="no">
  62. <description>
  63. Icon associated with database or file group
  64. </description>
  65. </AttributeType>
  66. <AttributeType name="selectable" dt:type="enumeration"
  67. dt:values="yes no" default="yes">
  68. <description>
  69. Is this component selectable for backup or is it always backed up.
  70. If no, then the component is always backed up if any other components of
  71. the application/service are backed up. If yes, then the
  72. component may be selectively backed up.
  73. </description>
  74. </AttributeType>
  75. <AttributeType name="version" dt:type="enumeration" dt:values="1.0" required="yes">
  76. <description>
  77. Version of a specific document
  78. </description>
  79. </AttributeType>
  80. <AttributeType name="writerId" dt:type="uuid" required="yes">
  81. <description>
  82. Unique id to identify the writer. Note that this identifies the
  83. writer class rather than a specific instance of the writer.
  84. </description>
  85. </AttributeType>
  86. <AttributeType name="instanceId" dt:type="uuid" required="no">
  87. <description>
  88. Unique id identifying the instance of a writer during backup. It
  89. has no meaning during restore.
  90. </description>
  91. </AttributeType>
  92. <ElementType name="WRITER_METADATA" content="eltOnly" model="open" order="one">
  93. <description>
  94. Information used by Backup application to backup/restore data
  95. </description>
  96. <attribute type="version" />
  97. <element type="IDENTIFICATION" />
  98. <element type="BACKUP_LOCATIONS" minOccurs="0" />
  99. <element type="RESTORE_METHOD" minOccurs="0" />
  100. </ElementType>
  101. <ElementType name="IDENTIFICATION" content="empty" model="closed">
  102. <description>
  103. Identification of a service/application backing up data
  104. </description>
  105. <AttributeType name="friendlyName" dt:type="string" required="yes">
  106. <description>
  107. Friendly name used to describe the service or application.
  108. </description>
  109. </AttributeType>
  110. <AttributeType name="usage" dt:type="enumeration"
  111. dt:values="USER_DATA BOOTABLE_SYSTEM_STATE SYSTEM_SERVICE OTHER"
  112. default="OTHER">
  113. <description>
  114. How the data associated with the writer is used. For now we
  115. distinguish user data and system state.
  116. </description>
  117. </AttributeType>
  118. <AttributeType name="dataSource" dt:type="enumeration"
  119. dt:values="TRANSACTION_DB NONTRANSACTIONAL_DB OTHER"
  120. default="OTHER">
  121. <description>
  122. Description of the nature of the data manager. Currently only
  123. databases are identified
  124. </description>
  125. </AttributeType>
  126. <attribute type="instanceId" required="yes" />
  127. <attribute type="writerId" />
  128. <attribute type="friendlyName" />
  129. <attribute type="usage" />
  130. <attribute type="dataSource" />
  131. </ElementType>
  132. <ElementType name="BACKUP_LOCATIONS" content="eltOnly" model="closed" order="many">
  133. <description>
  134. Files to include and exclude from the backup
  135. </description>
  136. <element type="INCLUDE_FILES" minOccurs="0" />
  137. <element type="EXCLUDE_FILES" minOccurs="0" />
  138. <element type="DATABASE" minOccurs="0"/>
  139. <element type="FILE_GROUP" minOccurs="0" />
  140. </ElementType>
  141. <ElementType name="INCLUDE_FILES" content="empty">
  142. <description>
  143. Files to include in the backup, essentially files to backup if you want
  144. to backup this application/service
  145. </description>
  146. <attribute type="path" />
  147. <attribute type="filespec" />
  148. <attribute type="recursive" />
  149. <attribute type="alternatePath" />
  150. </ElementType>
  151. <ElementType name="EXCLUDE_FILES" content="empty">
  152. <description>
  153. Files that should always be excluded from the backup
  154. </description>
  155. <attribute type="path" />
  156. <attribute type="filespec" />
  157. <attribute type="recursive" />
  158. </ElementType>
  159. <ElementType name="DATABASE" content="eltOnly" model="closed" order="many">
  160. <description>
  161. List of databases of interest. This is used to allow selective
  162. backup and restore of specific databases.
  163. </description>
  164. <attribute type= "logicalPath" />
  165. <attribute type="componentName" />
  166. <attribute type="caption" />
  167. <attribute type="icon" />
  168. <attribute type="restoreMetadata" />
  169. <attribute type="notifyOnBackupComplete" />
  170. <attribute type="selectable" />
  171. <element type="DATABASE_FILES" minOccurs="1" />
  172. <element type="DATABASE_LOGFILES" />
  173. </ElementType>
  174. <ElementType name="DATABASE_FILES" content="empty" model="closed">
  175. <description>
  176. Location of a set of database files. Filespec can include wildcards
  177. </description>
  178. <attribute type="path" />
  179. <attribute type="filespec" />
  180. </ElementType>
  181. <ElementType name="DATABASE_LOGFILES" content="empty" model="closed">
  182. <description>
  183. Location of a set of database log files. Filespec can include
  184. wildcards. Indication of whether database log files are truncated.
  185. </description>
  186. <attribute type="path" />
  187. <attribute type="filespec" />
  188. </ElementType>
  189. <ElementType name="FILE_GROUP" content="eltOnly" model="closed" order="many">
  190. <description>
  191. A named group of files. Used to group sets of files into a group
  192. that are backed up together
  193. </description>
  194. <attribute type="logicalPath" />
  195. <attribute type="componentName" />
  196. <attribute type="caption" />
  197. <attribute type="icon" />
  198. <attribute type="restoreMetadata" />
  199. <attribute type="notifyOnBackupComplete" />
  200. <attribute type="selectable" />
  201. <element type="FILE_LIST" />
  202. </ElementType>
  203. <ElementType name="FILE_LIST" content="empty" model="closed">
  204. <description>
  205. Location of a set of files in a FILE_GROUP. Filespec can include
  206. wildcards.
  207. </description>
  208. <attribute type="path" />
  209. <attribute type="filespec" />
  210. <attribute type="recursive" />
  211. <attribute type="alternatePath" />
  212. </ElementType>
  213. <ElementType name="RESTORE_METHOD" content="eltOnly" model="open" order="many">
  214. <description>
  215. How restore should be performed. Includes specification of how files
  216. should be restored as well as special steps that should occur in order
  217. to complete the restore.
  218. </description>
  219. <AttributeType name="method" dt:type="enumeration"
  220. required="yes"
  221. dt:values="RESTORE_IF_NONE_THERE
  222. RESTORE_IF_CAN_BE_REPLACED
  223. STOP_RESTART_SERVICE
  224. REPLACE_AT_REBOOT
  225. RESTORE_TO_ALTERNATE_LOCATION
  226. CUSTOM">
  227. <description>
  228. RESTORE_IF_NONE_THERE: i.e., can restore data if it is not at the
  229. location where it was backed up from. This essentially allows
  230. data to be restored to a clean system
  231. RESTORE_IF_CAN_BE_REPLACED: Restore data if all of the files can
  232. be replaced in the orgiginal backup location. Fails if any of
  233. the files are open. If an alternate location is provided, files
  234. will be placed there if they cannot be restored to their original
  235. location.
  236. STOP_RESTART_SERVICE: stop service (service attribute must be
  237. specified). Restore files to original backup location.
  238. Restart service. Fails if any of the files are open after the
  239. service is stopped.
  240. REPLACE_AT_REBOOT: Restore files to a temporary location. Use
  241. MoveFileEx to replace the files at reboot.
  242. RESTORE_TO_ALTERNATIVE_LOCATION: Restore files to an alternate
  243. location. Typically writerRestore will indicate that the writer
  244. will participate in the restore process
  245. CUSTOM: restore process cannot be expressed using this specification
  246. </description>
  247. </AttributeType>
  248. <AttributeType name="service" dt:type="string" required="no">
  249. <description>
  250. Must be specified if method="STOP_RESTART_SERVICE", indicates
  251. service to be stopped before restoring files.
  252. </description>
  253. </AttributeType>
  254. <AttributeType name="writerRestore" dt:type="enumeration"
  255. dt:values="always never ifReplaceFails" default="never">
  256. <description>
  257. Whether writer should be invoked after files are restored to
  258. disk. Options are always, never, and ifReplaceFails. The latter means
  259. that the files will be restored to their original location. If one
  260. or more of the files cannot be replaced, then the files will be
  261. restored to an alternate location (must be specified via
  262. ALTERNATE_LOCATION_MAPPING. After the files are restored, the writer
  263. is invoked.
  264. </description>
  265. </AttributeType>
  266. <AttributeType name="userProcedure" dt:type="uri" required="no">
  267. <description>
  268. Description of actions that the user should perform to restore the files.
  269. The format of this string has yet to be determined.
  270. </description>
  271. </AttributeType>
  272. <AttributeType name="rebootRequired" dt:type="enumeration"
  273. dt:values="yes no" default="no" >
  274. <description>
  275. Should a reboot be performed after restoring the data for this
  276. writer
  277. </description>
  278. </AttributeType>
  279. <attribute type="method" />
  280. <attribute type="service" />
  281. <attribute type="writerRestore" />
  282. <attribute type="userProcedure" />
  283. <attribute type="rebootRequired" />
  284. <element type="ALTERNATE_LOCATION_MAPPING" minOccurs="0" maxOccurs="*" />
  285. </ElementType>
  286. <ElementType name="ALTERNATE_LOCATION_MAPPING" content="empty" model="closed">
  287. <description>
  288. Mapping from a location that was backed up to a location to restore to.
  289. </description>
  290. <attribute type="path" />
  291. <attribute type="filespec" />
  292. <attribute type="recursive" />
  293. <attribute type="alternatePath" />
  294. </ElementType>
  295. </Schema>