Backup Class

The Backup object provides programmatic access to Microsoft SQL Server backup operations.

Inheritance Hierarchy

System.Object
  Microsoft.SqlServer.Management.Smo.BackupRestoreBase
    Microsoft.SqlServer.Management.Smo.Backup

Namespace:  Microsoft.SqlServer.Management.Smo
Assembly:  Microsoft.SqlServer.SmoExtended (in Microsoft.SqlServer.SmoExtended.dll)

Syntax

'Declaration
Public NotInheritable Class Backup _
    Inherits BackupRestoreBase
'Usage
Dim instance As Backup
public sealed class Backup : BackupRestoreBase
public ref class Backup sealed : public BackupRestoreBase
[<SealedAttribute>]
type Backup =  
    class 
        inherit BackupRestoreBase 
    end
public final class Backup extends BackupRestoreBase

The Backup type exposes the following members.

Constructors

  Name Description
Public method Backup Initializes a new instance of the Backup class.

Top

Properties

  Name Description
Public property Action Gets or sets the type of backup to be performed.
Public property AsyncStatus Gets the asynchronous status of a backup or restore process. (Inherited from BackupRestoreBase.)
Public property BackupSetDescription Gets or sets a textual description for a particular backup set.
Public property BackupSetName Gets or sets the name used to identify a particular backup set.
Public property BlockSize Gets or sets the physical block size of the backup or restore, in bytes. (Inherited from BackupRestoreBase.)
Public property BufferCount Gets or sets the total number of I/O buffers to be used for the backup or restore operation. (Inherited from BackupRestoreBase.)
Public property Checksum Gets or sets a Boolean property value that determines whether a checksum value is calculated during backup or restore operations. (Inherited from BackupRestoreBase.)
Public property CompressionOption Gets or sets the backup compression option.
Public property ContinueAfterError Gets or sets a Boolean property value that determines whether the backup or restore continues after a checksum error occurs. (Inherited from BackupRestoreBase.)
Public property CopyOnly Gets or sets a Boolean property value that specifies the backup is a copy-only backup. This does not affect the sequence of backups in the usual backup schedule.
Public property Database Gets or sets the database on which the backup or restore operation runs. (Inherited from BackupRestoreBase.)
Public property DatabaseFileGroups Gets the SQL Server file groups targeted by the backup or restore operation. (Inherited from BackupRestoreBase.)
Public property DatabaseFiles Gets the operating system files targeted by the backup or restore operation. (Inherited from BackupRestoreBase.)
Public property Devices Gets the backup devices specified for the backup or restore operation. (Inherited from BackupRestoreBase.)
Public property ExpirationDate Gets or sets the date and time when the backup set expires and the backup data is no longer considered relevant.
Public property FormatMedia Gets or sets a Boolean property value that determines whether a tape is formatted as the first step of the backup operation.
Public property Incremental Gets or sets a Boolean property value that determines whether to perform a differential backup.
Public property Initialize Gets or sets a Boolean property value that determines whether the devices associated with a backup operation are initialized as part of the backup operation.
Public property LogTruncation Gets or sets the method used to truncate the database log as part of the backup operation.
Public property MaxTransferSize Gets or sets the maximum number of bytes to be transferred between the backup media and the instance of SQL Server. (Inherited from BackupRestoreBase.)
Public property MediaDescription Gets or sets a textual description of the medium that contains a backup set.
Public property MediaName Gets or sets the name used to identify a particular media set. (Inherited from BackupRestoreBase.)
Public property Mirrors Gets or sets the list of backup devices used by the mirrored backup.
Public property NoRecovery Gets or sets a Boolean property value that determines whether the tail of the log is backed up and whether the database is restored into the Restoring state. (Inherited from BackupRestoreBase.)
Public property NoRewind Gets or sets a Boolean property value that determines whether Microsoft SQL Server will keep the tape open after the backup or restore operation. (Inherited from BackupRestoreBase.)
Public property PercentCompleteNotification Gets or sets the percentage interval for PercentCompleteEventHandler event handler calls. (Inherited from BackupRestoreBase.)
Public property Restart Gets or sets a Boolean property value that determines whether the backup or restore operation will restart if it is interrupted. (Inherited from BackupRestoreBase.)
Public property RetainDays Gets or sets the number of days that must elapse before a backup set can be overwritten.
Public property SkipTapeHeader Gets or sets Boolean property that determines whether the tape header is read.
Public property UndoFileName Gets or sets the name of the undo file used to store uncommitted transactions that are rolled back during recovery.
Public property UnloadTapeAfter Gets or sets a Boolean property value that determines whether tape media are rewound and unloaded after the backup or restore operation completes. (Inherited from BackupRestoreBase.)

Top

Methods

  Name Description
Public method Abort Terminates a running backup or restore operation. (Inherited from BackupRestoreBase.)
Public method Equals (Inherited from Object.)
Public method GetHashCode (Inherited from Object.)
Public method GetType (Inherited from Object.)
Public method Script Returns a String containing the Transact-SQL statement that can be used to execute the referenced backup.
Public method SetMediaPassword(SecureString) Obsolete. Sets the password for a media set. (Inherited from BackupRestoreBase.)
Public method SetMediaPassword(String) Obsolete. Sets the password for a media set. (Inherited from BackupRestoreBase.)
Public method SetPassword(SecureString) Sets the password for a backup set. (Inherited from BackupRestoreBase.)
Public method SetPassword(String) Sets the password for a backup set. (Inherited from BackupRestoreBase.)
Public method SqlBackup Performs the database backup operation as specified by the properties of the Backup object used.
Public method SqlBackupAsync Performs the database backup operation asynchronously as specified by the properties of the Backup object used.
Public method ToString (Inherited from Object.)
Public method Wait Waits for the current backup or restore operation to complete before moving on to the next process. (Inherited from BackupRestoreBase.)

Top

Events

  Name Description
Public event Complete Occurs when the backup or restore operation completes. (Inherited from BackupRestoreBase.)
Public event Information Occurs when any informational message is issued by Microsoft SQL Server that cannot be handled by the Complete NextMedia or PercentComplete events. (Inherited from BackupRestoreBase.)
Public event NextMedia Occurs when the backup or restore operation exhausts the medium in a target device. (Inherited from BackupRestoreBase.)
Public event PercentComplete Occurs when a backup or restore operation reaches a completion unit. (Inherited from BackupRestoreBase.)

Top

Remarks

A Backup object allows you to do the following:

  • Back up a SQL Server database or database transaction log.

  • Generate a Transact-SQL BACKUP statement defining a backup.

  • Monitor a backup operation, reporting status to the user.

For SQL Server, a database delimits the largest backup unit. Although many different database backup images can be maintained on any single medium, a backup cannot span more than a single database. By default, backup operations performed with a Backup object back up a complete database.

SQL Server can write a backup to one of the following media types: disk, tape, or a proprietary medium called a backup device.

SQL Server supports backup striping. A striped backup is one directed to more than a single device. When striped, a backup is written across the devices in equal chunks. Striping is supported to a single media type only. For example, a backup can be written to two tape devices, but SQL Server cannot write part of a backup to a tape device and the rest to a disk.

At a minimum, you must supply values for a backup source and a backup target when using a Backup object. The Database property (inherited from BackupRestoreBase class) specifies the backup operation source.

To get Backup object properties, users can be a member of the public fixed server role.

To set Backup object properties, users must have BACKUP DATABASE or BACKUP LOG permissions on the database, or be a member of the db_owner and db_backupoperator fixed database role and the sysadmin fixed server role.

To run the SqlBackup method, users must have BACKUP DATABASE or BACKUP LOG permissions on the database, or be a member of the db_owner and db_backupoperator fixed database role and the sysadmin fixed server role.

Examples

Backing Up and Restoring Databases and Transaction Logs

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

Microsoft.SqlServer.Management.Smo Namespace

Other Resources

Backing Up and Restoring Databases and Transaction Logs

BACKUP (Transact-SQL)