Feature Bits

Microsoft SQL Server Virtual Backup

Microsoft SQL Server Virtual Backup Device Specification

Feature Bits

The selection of features determines which commands Microsoft® SQL Server™ sends to the device. For more information about commands, see Commands. Only certain combinations of features are supported: PIPE-like, TAPE-like, and DISK-like. The following describes which commands are required for each of the supported feature bit combinations. When selecting the feature bits, the first consideration is to select a positioning method:

  • PIPE-like. In this mode, the client acts like a pipe. This is a pure sequential method. It requires the minimal level of client function.
    Feature bits: VDF_LikePipe, all bits are zero (0).
    Optional feature bits: VDF_Removable.

  • TAPE-like. In this mode, the client acts like a tape device. The virtual tape device is a full-function device, capable of handling filemarks, removable media, reverse positioning, block relative positioning, and skipping forward over blocks.
    Feature bits: VDF_LikeTape. This is equivalent to: VDF_FileMarks | VDF_Removable | VDF_ReversePosition | VDF_Rewind | VDF_Position | VDF_SkipBlocks.

  • DISK-like. In this mode, the client acts like a disk device. All data transfer Read and Write commands provide the position field in the command. This specifies a byte address relative to the start of the file. The client must ensure that data is read or written to the location specified by the position. Data transfer is sequential, with the following exception: During the validation and positioning phase of media handling, a header is read at position 0 and soft filemarks are scanned.
    Feature bits: VDF_LikeDisk. This is equivalent to VDF_RandomAccess.
    Optional feature bits: VDF_Removable.

This option can be included with any of the combinations described previously:

  • VDF_Discard. This feature bit is set by the client to indicate that it supports the Discard command.

Only combinations of feature bits described earlier are supported. Behavior resulting from using other combinations is undefined.