Backup Backup Backup Class

Definition

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

public ref class Backup sealed : Microsoft::SqlServer::Management::Smo::BackupRestoreBase
public sealed class Backup : Microsoft.SqlServer.Management.Smo.BackupRestoreBase
Public NotInheritable Class Backup
Inherits BackupRestoreBase
Inheritance

Examples

Backing Up and Restoring Databases and Transaction Logs

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.

Constructors

Backup() Backup() Backup()

Initializes a new instance of the Backup class.

Properties

Action Action Action

Gets or sets the type of backup to be performed.

AsyncStatus AsyncStatus AsyncStatus

Gets the asynchronous status of a backup or restore process.

(Inherited from BackupRestoreBase)
BackupSetDescription BackupSetDescription BackupSetDescription

Gets or sets a textual description for a particular backup set.

BackupSetName BackupSetName BackupSetName

Gets or sets the name used to identify a particular backup set.

BlockSize BlockSize BlockSize

Gets or sets the physical block size of the backup or restore, in bytes.

(Inherited from BackupRestoreBase)
BufferCount BufferCount BufferCount

Gets or sets the total number of I/O buffers to be used for the backup or restore operation.

(Inherited from BackupRestoreBase)
Checksum Checksum Checksum

Gets or sets a Boolean property value that determines whether a checksum value is calculated during backup or restore operations.

(Inherited from BackupRestoreBase)
CompressionOption CompressionOption CompressionOption

Gets or sets the backup compression option.

ContinueAfterError ContinueAfterError ContinueAfterError

Gets or sets a Boolean property value that determines whether the backup or restore continues after a checksum error occurs.

(Inherited from BackupRestoreBase)
CopyOnly CopyOnly 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.

CredentialName CredentialName CredentialName

Gets or sets the Credential property value, which is used to authenticate to the Windows Azure storage account.

(Inherited from BackupRestoreBase)
Database Database Database

Gets or sets the database on which the backup or restore operation runs.

(Inherited from BackupRestoreBase)
DatabaseFileGroups DatabaseFileGroups DatabaseFileGroups

Gets the SQL Server file groups targeted by the backup or restore operation.

(Inherited from BackupRestoreBase)
DatabaseFiles DatabaseFiles DatabaseFiles

Gets the operating system files targeted by the backup or restore operation.

(Inherited from BackupRestoreBase)
Devices Devices Devices

Gets the backup devices specified for the backup or restore operation.

(Inherited from BackupRestoreBase)
EncryptionOption EncryptionOption EncryptionOption

Gets or sets the backup encryption option.

ExpirationDate ExpirationDate ExpirationDate

Gets or sets the date and time when the backup set expires and the backup data is no longer considered relevant.

FormatMedia FormatMedia FormatMedia

Gets or sets a Boolean property value that determines whether a tape is formatted as the first step of the backup operation.

Incremental Incremental Incremental

Gets or sets a Boolean property value that determines whether to perform a differential backup.

Initialize Initialize 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.

LogTruncation LogTruncation LogTruncation

Gets or sets the method used to truncate the database log as part of the backup operation.

MaxTransferSize MaxTransferSize 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)
MediaDescription MediaDescription MediaDescription

Gets or sets a textual description of the medium that contains a backup set.

MediaName MediaName MediaName

Gets or sets the name used to identify a particular media set.

(Inherited from BackupRestoreBase)
Mirrors Mirrors Mirrors

Gets or sets the list of backup devices used by the mirrored backup.

NoRecovery NoRecovery 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)
NoRewind NoRewind 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)
PercentCompleteNotification PercentCompleteNotification PercentCompleteNotification

Gets or sets the percentage interval for PercentCompleteEventHandler event handler calls.

(Inherited from BackupRestoreBase)
Restart Restart 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)
RetainDays RetainDays RetainDays

Gets or sets the number of days that must elapse before a backup set can be overwritten.

SkipTapeHeader SkipTapeHeader SkipTapeHeader

Gets or sets Boolean property that determines whether the tape header is read.

UndoFileName UndoFileName UndoFileName

Gets or sets the name of the undo file used to store uncommitted transactions that are rolled back during recovery.

UnloadTapeAfter UnloadTapeAfter 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)

Methods

Abort() Abort() Abort()

Terminates a running backup or restore operation.

(Inherited from BackupRestoreBase)
CheckForHADRMaintPlan(Server, StringBuilder) CheckForHADRMaintPlan(Server, StringBuilder) CheckForHADRMaintPlan(Server, StringBuilder)

Checks for HADR Maintenance plan.

(Inherited from BackupRestoreBase)
ExecuteSql(Server, StringCollection) ExecuteSql(Server, StringCollection) ExecuteSql(Server, StringCollection)

Executes a batch of Transact-SQL statements that does not expect a returned results set on the specified instance of SQL Server.

(Inherited from BackupRestoreBase)
ExecuteSqlAsync(Server, StringCollection) ExecuteSqlAsync(Server, StringCollection) ExecuteSqlAsync(Server, StringCollection)

Executes a batch of Transact-SQL statements asynchronously that does not expect a returned results set on the specified instance of SQL Server.

(Inherited from BackupRestoreBase)
ExecuteSqlWithResults(Server, String) ExecuteSqlWithResults(Server, String) ExecuteSqlWithResults(Server, String)

Executes a batch of Transact-SQL statements that expects one or more returned results sets on the specified instance of SQL Server.

(Inherited from BackupRestoreBase)
GetDevicesScript(StringBuilder, BackupDeviceList, ServerVersion) GetDevicesScript(StringBuilder, BackupDeviceList, ServerVersion) GetDevicesScript(StringBuilder, BackupDeviceList, ServerVersion)

Gets the script that is used to create devices.

(Inherited from BackupRestoreBase)
IsStringValid(String) IsStringValid(String) IsStringValid(String)

Verifies whether the specified string is valid.

(Inherited from BackupRestoreBase)
Script(Server) Script(Server) Script(Server)

Returns a String containing the Transact-SQL statement that can be used to execute the referenced backup.

SetMediaPassword(SecureString) SetMediaPassword(SecureString) SetMediaPassword(SecureString)

Sets the password for a media set.

(Inherited from BackupRestoreBase)
SetMediaPassword(String) SetMediaPassword(String) SetMediaPassword(String)

Sets the password for a media set.

(Inherited from BackupRestoreBase)
SetPassword(SecureString) SetPassword(SecureString) SetPassword(SecureString)

Sets the password for a backup set.

(Inherited from BackupRestoreBase)
SetPassword(String) SetPassword(String) SetPassword(String)

Sets the password for a backup set.

(Inherited from BackupRestoreBase)
SqlBackup(Server) SqlBackup(Server) SqlBackup(Server)

Performs the database backup operation as specified by the properties of the Backup object used.

SqlBackupAsync(Server) SqlBackupAsync(Server) SqlBackupAsync(Server)

Performs the database backup operation asynchronously as specified by the properties of the Backup object used.

Wait() Wait() Wait()

Waits for the current backup or restore operation to complete before moving on to the next process.

(Inherited from BackupRestoreBase)

Events

Complete Complete Complete

Occurs when the backup or restore operation completes.

(Inherited from BackupRestoreBase)
Information Information Information

Occurs when any informational message is issued by Microsoft SQL Server that cannot be handled by the CompleteNextMedia or PercentComplete events.

(Inherited from BackupRestoreBase)
NextMedia NextMedia NextMedia

Occurs when the backup or restore operation exhausts the medium in a target device.

(Inherited from BackupRestoreBase)
PercentComplete PercentComplete PercentComplete

Occurs when a backup or restore operation reaches a completion unit.

(Inherited from BackupRestoreBase)

Fields

currentAsyncOperation currentAsyncOperation currentAsyncOperation

Specifies the current asynchronous operation, such as backup, restore, or none.

(Inherited from BackupRestoreBase)
m_BackupAction m_BackupAction m_BackupAction

Specifies the backup action type, such as database or log.

(Inherited from BackupRestoreBase)
m_LogTruncation m_LogTruncation m_LogTruncation

Specifies whether to truncate the log.

(Inherited from BackupRestoreBase)
m_RestoreAction m_RestoreAction m_RestoreAction

Specifies the restore action type, such as database or log.

(Inherited from BackupRestoreBase)

Applies to