VSS_BACKUP_SCHEMA enumeration

The VSS_BACKUP_SCHEMA enumeration is used by a writer to indicate the types of backup operations it can participate in. The supported kinds of backup are expressed as a bit mask (or bitwise OR) of VSS_BACKUP_SCHEMA values.

Syntax


typedef enum VSS_BACKUP_SCHEMA { 
  VSS_BS_UNDEFINED                           = 0x00000000,
  VSS_BS_DIFFERENTIAL                        = 0x00000001,
  VSS_BS_INCREMENTAL                         = 0x00000002,
  VSS_BS_EXCLUSIVE_INCREMENTAL_DIFFERENTIAL  = 0x00000004,
  VSS_BS_LOG                                 = 0x00000008,
  VSS_BS_COPY                                = 0x00000010,
  VSS_BS_TIMESTAMPED                         = 0x00000020,
  VSS_BS_LAST_MODIFY                         = 0x00000040,
  VSS_BS_LSN                                 = 0x00000080,
  VSS_BS_WRITER_SUPPORTS_NEW_TARGET          = 0x00000100,
  VSS_BS_WRITER_SUPPORTS_RESTORE_WITH_MOVE   = 0x00000200,
  VSS_BS_INDEPENDENT_SYSTEM_STATE            = 0x00000400,
  VSS_BS_ROLLFORWARD_RESTORE                 = 0x00001000,
  VSS_BS_RESTORE_RENAME                      = 0x00002000,
  VSS_BS_AUTHORITATIVE_RESTORE               = 0x00004000,
  VSS_BS_WRITER_SUPPORTS_PARALLEL_RESTORES   = 0x00008000
} VSS_BACKUP_SCHEMA, *PVSS_BACKUP_SCHEMA;

Constants

VSS_BS_UNDEFINED

The writer supports a simple full backup and restoration of entire files (as defined by a VSS_BACKUP_TYPE value of VSS_BT_FULL). This backup scheme can be used as the basis of an incremental or differential backup. This is the default value.

VSS_BS_DIFFERENTIAL

The writer supports differential backups (corresponding to the VSS_BACKUP_TYPE value VSS_BT_DIFFERENTIAL). Files created or changed since the last full backup are saved. Files are not marked as having been backed up.

This setting does not preclude mixing of incremental and differential backups.

This value is not supported for express writers.

VSS_BS_INCREMENTAL

The writer supports incremental backups (corresponding to the VSS_BACKUP_TYPE value VSS_BT_INCREMENTAL). Files created or changed since the last full or incremental backup are saved. Files are marked as having been backed up.

This setting does not preclude mixing of incremental and differential backups.

This value is not supported for express writers.

VSS_BS_EXCLUSIVE_INCREMENTAL_DIFFERENTIAL

The writer supports both differential and incremental backup schemas, but only exclusively: for example, you cannot follow a differential backup with an incremental one. A writer cannot support this schema if it does not support both incremental and differential schemas (VSS_BS_DIFFERENTIAL | VSS_BS_INCREMENTAL).

This value is not supported for express writers.

VSS_BS_LOG

The writer supports backups that involve only the log files it manages (corresponding to a VSS_BACKUP_TYPE value of VSS_BT_LOG). This schema requires a writer to have added at least one file to at least one component using the IVssCreateWriterMetadata::AddDataBaseLogFiles method. Requesters retrieve log file information using the IVssWMComponent::GetDatabaseLogFile method.

VSS_BS_COPY

Similar to the default backup schema (VSS_BT_UNDEFINED), the writer supports copy backup operations (corresponding to VSS_BT_COPY) where file access information (such as information as to when a file was last backed up) will not be updated either in the writer's own state information or in the file system information. This type of backup cannot be used as the basis of an incremental or differential backup.

VSS_BS_TIMESTAMPED

A writer supports using the VSS time-stamp mechanism when evaluating if a file should be included in differential or incremental operations (corresponding to VSS_BT_DIFFERENTIAL and VSS_BT_INCREMENTAL, respectively) using the IVssComponent::GetBackupStamp, IVssComponent::GetPreviousBackupStamp, IVssComponent::SetBackupStamp, and IVssBackupComponents::SetPreviousBackupStamp methods.

A writer cannot support this schema if it does not support either differential or incremental backup schemas (VSS_BS_DIFFERENTIAL or VSS_BS_INCREMENTAL).

This value is not supported for express writers.

VSS_BS_LAST_MODIFY

When implementing incremental or differential backups with differenced files, a writer can provide last modification time information for files (using IVssComponent::AddDifferencedFilesByLastModifyTime). A requester then can use IVssComponent::GetDifferencedFile to obtain candidate files and information about their last modification data. The requester can use this information (along with any records about previous backup operations it maintains) to decide if a file should be included in incremental and differential backups.

This scheme does not apply to partial file implementations of incremental and differential backup operations.

A writer cannot support this schema if it does not support either incremental or differential backup schemas (VSS_BS_DIFFERENTIAL or VSS_BS_INCREMENTAL).

This value is not supported for express writers.

VSS_BS_LSN

Reserved for system use.

VSS_BS_WRITER_SUPPORTS_NEW_TARGET

The writer supports a requester changing the target for file restoration using IVssBackupComponents::AddNewTarget. (See Non-Default Backup And Restore Locations for more information.)

This value is not supported for express writers.

VSS_BS_WRITER_SUPPORTS_RESTORE_WITH_MOVE

The writer supports running multiple writer instances with the same class ID, and it supports a requester moving a component to a different writer instance at restore time using IVssBackupComponentsEx::SetSelectedForRestoreEx.

This value is not supported for express writers.

Windows Server 2003:  This value is not supported until Windows Server 2003 with SP1.

VSS_BS_INDEPENDENT_SYSTEM_STATE

The writer supports backing up data that is part of the system state, but that can also be backed up independently of the system state.

Windows Server 2003:  This value is not supported until Windows Vista.

VSS_BS_ROLLFORWARD_RESTORE

The writer supports a requester setting a roll-forward restore point using IVssBackupComponentsEx2::SetRollForward.

This value is not supported for express writers.

Windows Server 2003:  This value is not supported until Windows Vista.

VSS_BS_RESTORE_RENAME

The writer supports a requester setting a restore name using IVssBackupComponentsEx2::SetRestoreName.

This value is not supported for express writers.

Windows Server 2003:  This value is not supported until Windows Vista.

VSS_BS_AUTHORITATIVE_RESTORE

The writer supports a requester setting authoritative restore using IVssBackupComponentsEx2::SetAuthoritativeRestore.

This value is not supported for express writers.

Windows Server 2003:  This value is not supported until Windows Vista.

VSS_BS_WRITER_SUPPORTS_PARALLEL_RESTORES

The writer supports multiple unsynchronized restore events.

This value is not supported for express writers.

Windows Vista and Windows Server 2003:  This value is not supported until Windows Server 2008.

Remarks

Writer set their backup schemas with calls to IVssCreateWriterMetadata::SetBackupSchema.

Requesters use IVssExamineWriterMetadata::GetBackupSchema to determine the backup schema that a writer supports.

For a specific kind of backup operation to be supported, the writer must support the corresponding schema, and the requester must set the corresponding backup type.

For example, to involve a writer in an incremental backup operation, the requester must set the backup type to VSS_BT_INCREMENTAL, and the writer should have a backup schema that includes VSS_BS_INCREMENTAL.

A writer that does not support the backup schema corresponding to a requester's backup type should treat the backup operation that is being performed as if it were a default (full) backup. If the desired backup type is not supported by the writer's backup schema, the requester can either perform a full backup for this writer or exclude the writer from the backup operation. A requester can exclude a writer by selecting none of the writer's components (see Working with Selectability and Logical Paths), or by disabling the writer (see IVssBackupComponents::DisableWriterClasses or IVssBackupComponents::DisableWriterInstances).

Requirements

Minimum supported client

Windows Vista [desktop apps only]

Minimum supported server

Windows Server 2003 [desktop apps only]

Header

Vss.h

See also

Incremental and Differential Backups
VSS_COMPONENT_FLAGS
VSS_USAGE_TYPE
IVssBackupComponentsEx::SetSelectedForRestoreEx
IVssBackupComponentsEx2::SetAuthoritativeRestore
IVssBackupComponentsEx2::SetRestoreName
IVssBackupComponentsEx2::SetRollForward
IVssCreateWriterMetadata::SetBackupSchema
IVssExamineWriterMetadata::GetBackupSchema
IVssBackupComponents::SetBackupState
IVssComponent::AddDifferencedFilesByLastModifyTime
IVssComponent::AddPartialFile

 

 

Community Additions

ADD
Show:
© 2014 Microsoft