Compartir a través de


Clase Restore

The Restore object provides programmatic access to restore operations.

Jerarquía de herencia

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

Espacio de nombres:  Microsoft.SqlServer.Management.Smo
Ensamblado:  Microsoft.SqlServer.SmoExtended (en Microsoft.SqlServer.SmoExtended.dll)

Sintaxis

'Declaración
Public NotInheritable Class Restore _
    Inherits BackupRestoreBase
'Uso
Dim instance As Restore
public sealed class Restore : BackupRestoreBase
public ref class Restore sealed : public BackupRestoreBase
[<SealedAttribute>]
type Restore =  
    class 
        inherit BackupRestoreBase 
    end
public final class Restore extends BackupRestoreBase

El tipo Restore expone los siguientes miembros.

Constructores

  Nombre Descripción
Método público Restore() Initializes a new instance of the Restore class.
Método público Restore(String, BackupSet) Initializes a new instance of the Restore class with specified destination database name and backup set.

Arriba

Propiedades

  Nombre Descripción
Propiedad pública Action Gets or sets the type of restore to be performed.
Propiedad pública AsyncStatus Obtiene el estado asincrónico de un proceso de copia de seguridad o restauración. (Se hereda de BackupRestoreBase.)
Propiedad pública BlockSize Obtiene o establece el tamaño del bloque físico de la copia de seguridad o restauración, en bytes. (Se hereda de BackupRestoreBase.)
Propiedad pública BufferCount Obtiene o establece el número total de búferes de E/S que se van a usar para la operación de copia de seguridad o restauración. (Se hereda de BackupRestoreBase.)
Propiedad pública Checksum Obtiene o establece un valor de propiedad Boolean que determina si se calcula un valor de suma de comprobación durante las operaciones de copia de seguridad o restauración. (Se hereda de BackupRestoreBase.)
Propiedad pública ClearSuspectPageTableAfterRestore Gets or sets a Boolean value that determines whether entries in the suspect page table will be deleted following the restore operation.
Propiedad pública ContinueAfterError Obtiene o establece un valor de propiedad Boolean que determina si la copia de seguridad o la restauración continúa cuando se produce un error de suma de comprobación. (Se hereda de BackupRestoreBase.)
Propiedad pública Database Obtiene o establece la base de datos en la que se ejecuta la operación de copia de seguridad o restauración. (Se hereda de BackupRestoreBase.)
Propiedad pública DatabaseFileGroups Obtiene los grupos de archivos de SQL Server que constituyen el destino de la operación copia de seguridad o restauración. (Se hereda de BackupRestoreBase.)
Propiedad pública DatabaseFiles Obtiene los archivos del sistema operativo que constituyen el destino de la operación de copia de seguridad o restauración. (Se hereda de BackupRestoreBase.)
Propiedad pública DatabasePages Gets the list of the restore pages.
Propiedad pública Devices Obtiene los dispositivos de copia de seguridad especificados para la operación de copia de seguridad o restauración. (Se hereda de BackupRestoreBase.)
Propiedad pública FileNumber Gets or sets the index number used to identify the targeted backup set on the backup medium.
Propiedad pública KeepReplication Gets or sets a Boolean property value that specifies whether to maintain a replication configuration during a restore operation.
Propiedad pública MaxTransferSize Obtiene o establece el número máximo de bytes que se van a transferir entre el medio de copia de seguridad y la instancia de SQL Server. (Se hereda de BackupRestoreBase.)
Propiedad pública MediaName Obtiene o establece el nombre usado para identificar un conjunto de medios determinado. (Se hereda de BackupRestoreBase.)
Propiedad pública NoRecovery Obtiene o establece un valor de propiedad Boolean que determina si se hace la copia de seguridad del final del registro y si la base de datos se restaura en el estado de restauración. (Se hereda de BackupRestoreBase.)
Propiedad pública NoRewind Obtiene o establece un valor de propiedad Boolean que determina si Microsoft SQL Server mantendrá abierta la cinta tras la operación de copia de seguridad o restauración. (Se hereda de BackupRestoreBase.)
Propiedad pública Offset Gets or sets the array of page addresses to be restored.
Propiedad pública Partial Gets or sets a Boolean property value that specifies whether a partial or full restore operation will be performed.
Propiedad pública PercentCompleteNotification Obtiene o establece el intervalo del porcentaje para las llamadas del controlador de eventos de PercentCompleteEventHandler. (Se hereda de BackupRestoreBase.)
Propiedad pública RelocateFiles Gets the array of database logical file names and operating system physical file names used to redirect database storage when a database is restored to a new physical location.
Propiedad pública ReplaceDatabase Gets or sets a Boolean value that specifies whether a restore operation creates a new image of the restored database.
Propiedad pública Restart Obtiene o establece un valor de propiedad Boolean que determina si la operación de copia de seguridad o restauración se reiniciará si se interrumpe. (Se hereda de BackupRestoreBase.)
Propiedad pública RestrictedUser Gets or sets a Boolean property value that specifies whether access to the restored database is restricted to members of the db_owner fixed database role and the dbcreator and sysadmin fixed server roles.
Propiedad pública StandbyFile Gets or sets the name of an undo file that is used as part of the imaging strategy for an instance of SQL Server.
Propiedad pública StopAtMarkAfterDate Gets or sets the date to be used in conjunction with the mark name specified by StopAtMarkName to determine the stopping point of the recovery operation.
Propiedad pública StopAtMarkName Gets or sets the mark name to be used in conjunction with the date specified by StopAtMarkAfterDate to determine the stopping point of the recovery operation.
Propiedad pública StopBeforeMarkAfterDate Gets or sets the date to be used in conjunction with the mark name specified by StopBeforeMarkName to determine the stopping point of the recovery operation.
Propiedad pública StopBeforeMarkName Gets or sets the mark name to be used in conjunction with the date specified by StopBeforeMarkAfterDate to determine the stopping point of the recovery operation.
Propiedad pública ToPointInTime Gets or sets the endpoint for database log restoration.
Propiedad pública UnloadTapeAfter Obtiene o establece un valor de propiedad Boolean que determina si los medios de cinta se rebobinan y se descargan después que se complete la operación de copia de seguridad o restauración. (Se hereda de BackupRestoreBase.)

Arriba

Métodos

  Nombre Descripción
Método público Abort Finaliza una operación de copia de seguridad o restauración en ejecución. (Se hereda de BackupRestoreBase.)
Método público ClearSuspectPageTable Deletes entries in the suspect page table.
Método público Equals (Se hereda de Object.)
Método público GetHashCode (Se hereda de Object.)
Método público GetType (Se hereda de Object.)
Método público ReadBackupHeader Reads the backup header and returns information about the media contents.
Método público ReadFileList Returns the list of database files on the targeted media.
Método público ReadMediaHeader Reads the media header and returns the media header values.
Método público ReadSuspectPageTable Returns the suspect page table for the targeted instance of SQL Server.
Método público Script Generates a Transact-SQL script that can be used to re-create the restore operation.
Método público SetMediaPassword(SecureString) Obsoleto. Establece la contraseña de un conjunto de medios. (Se hereda de BackupRestoreBase.)
Método público SetMediaPassword(String) Obsoleto. Establece la contraseña de un conjunto de medios. (Se hereda de BackupRestoreBase.)
Método público SetPassword(SecureString) Establece la contraseña de un conjunto de copia de seguridad. (Se hereda de BackupRestoreBase.)
Método público SetPassword(String) Establece la contraseña de un conjunto de copia de seguridad. (Se hereda de BackupRestoreBase.)
Método público SqlRestore Performs a restore operation on the specified server.
Método público SqlRestoreAsync Performs a restore operation asynchronously.
Método público SqlVerify(Server) Checks the media on the instance of SQL Server that is represented by the specified Server object.
Método público SqlVerify(Server, Boolean) Checks the media on instance of SQL Server that is represented by the specified Server object and loads backup history information into the history tables.
Método público SqlVerify(Server, String%) Checks the media on the instance of SQL Server that is represented by the specified Server object and returns an error message.
Método público SqlVerify(Server, Boolean, String%) Checks the media on the instance of SQL Server that is represented by the specified Server object, loads backup history information into the history tables, and returns an error message.
Método público SqlVerifyAsync(Server) Checks the media on the instance of SQL Server that is represented by the specified Server object asynchronously.
Método público SqlVerifyAsync(Server, Boolean) Checks the media on the instance of SQL Server that is represented by the specified Server object asynchronously and loads backup history information into the history tables.
Método público SqlVerifyLatest(Server) Verifies the most recent backup but does not restore it, and checks to see that the backup set is complete and the entire backup is readable.
Método público SqlVerifyLatest(Server, SqlVerifyAction) Verifies the most recent backup with the specified action, and checks to see that the backup set is complete and the entire backup is readable.
Método público SqlVerifyLatest(Server, String%) Verifies the most recent backup but does not restore it, checks to see that the backup set is complete and the entire backup is readable, and returns an error message.
Método público SqlVerifyLatest(Server, SqlVerifyAction, String%) Verifies the most recent backup with the specified action, checks to see that the backup set is complete and the entire backup is readable, and returns an error message.
Método público ToString (Se hereda de Object.)
Método público Wait Espera a que se complete la operación de copia de seguridad o restauración actual antes de continuar con el proceso siguiente. (Se hereda de BackupRestoreBase.)

Arriba

Eventos

  Nombre Descripción
Evento público Complete Tiene lugar cuando se completa la operación de copia de seguridad o restauración. (Se hereda de BackupRestoreBase.)
Evento público Information Tiene lugar cuando Microsoft SQL Server emite cualquier mensaje informativo que no pueden controlar los eventos Complete, NextMedia o PercentComplete. (Se hereda de BackupRestoreBase.)
Evento público NextMedia Tiene lugar cuando la operación de copia de seguridad o restauración agota el medio en un dispositivo de destino. (Se hereda de BackupRestoreBase.)
Evento público PercentComplete Tiene lugar cuando una operación de copia de seguridad o restauración alcanza una unidad de realización. (Se hereda de BackupRestoreBase.)

Arriba

Campos

  Nombre Descripción
Campo público VerifyComplete Specifies the VerifyCompleteEventHandler.

Arriba

Comentarios

By using a Restore object you can do the following:

  • Restore all or part of a database.

  • Restore backup images of transaction log records.

  • Verify the integrity of backup media.

  • Report the contents of backup media.

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

SQL Server can write a backup to one of four media types: disk, tape, named pipe, or a backup device. SQL Server supports backup striping. A striped backup is one directed to more than a single device. Striping is supported to a single media type only. That is, a backup can be written to two tape devices. Half of a backup cannot be written to a tape device and the other half to a disk.

At a minimum, supply values for a restore source when using a Restore object. Use one media type property to specify the restore operation source.

Setting other properties in the Restore object may be required by the restore operation desired.

Thread Safety

Todos los miembros estáticos (compartidos en Microsoft Visual Basic) públicos de este tipo son seguros para operaciones multiproceso. No se garantiza que los miembros de instancia sean seguros para subprocesos.

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

To set Restore object properties, users must have CREATE DATABASE permission on the server, or be a member of sysadmin or dbcreator fixed server roles, or be a member of db_owner fixed database role.

To perform a restore operation, users must have CREATE DATABASE permission on the server, or be a member of sysadmin or dbcreator fixed server roles. If the database already exists, then members of the db_owner fixed database role can also perform a restore operation.

Ejemplos

The following code example demonstrates how to create a normal and an asynchronous backup of the AdventureWorks2012  database and use each of those backups to restore it.

VB

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Reference the AdventureWorks2012 database.
Dim db As Database
db = srv.Databases("AdventureWorks2012")
'Store the current recovery model in a variable.
Dim recoverymod As Integer
recoverymod = db.DatabaseOptions.RecoveryModel
'Define a Backup object variable. 
Dim bk As New Backup
'Specify the type of backup, the description, the name, and the database to be backed up.
bk.Action = BackupActionType.Database
bk.BackupSetDescription = "Full backup of AdventureWorks2012"
bk.BackupSetName = "AdventureWorks2012 Backup"
bk.Database = "AdventureWorks2012"
'Declare a BackupDeviceItem by supplying the backup device file name in the constructor, and the type of device is a file.
Dim bdi As BackupDeviceItem
bdi = New BackupDeviceItem("Test_Full_Backup1", DeviceType.File)
'Add the device to the Backup object.
bk.Devices.Add(bdi)
'Set the Incremental property to False to specify that this is a full database backup.
bk.Incremental = False
'Set the expiration date.
Dim backupdate As New Date
backupdate = New Date(2006, 10, 5)
bk.ExpirationDate = backupdate
'Specify that the log must be truncated after the backup is complete.
bk.LogTruncation = BackupTruncateLogType.Truncate
'Run SqlBackup to perform the full database backup on the instance of SQL Server.
bk.SqlBackup(srv)
'Inform the user that the backup has been completed.
Console.WriteLine("Full Backup complete.")
'Remove the backup device from the Backup object.
bk.Devices.Remove(bdi)
'Make a change to the database: in this case, add a table called test_table.
Dim t As Table
t = New Table(db, "test_table")
Dim c As Column
c = New Column(t, "col", DataType.Int)
t.Columns.Add(c)
t.Create()
'Create another file device for the differential backup and add the Backup object.
Dim bdid As BackupDeviceItem
bdid = New BackupDeviceItem("Test_Differential_Backup1", DeviceType.File)
'Add the device to the Backup object.
bk.Devices.Add(bdid)
'Set the Incremental property to True for a differential backup.
bk.Incremental = True
'Run SqlBackup to perform the incremental database backup on the instance of SQL Server.
bk.SqlBackup(srv)
'Inform the user that the differential backup is complete.
Console.WriteLine("Differential Backup complete.")
'Remove the device from the Backup object.
bk.Devices.Remove(bdid)
'Delete the AdventureWorks2012 database before restoring it.
srv.Databases("AdventureWorks2012").Drop()
'Define a Restore object variable.
Dim rs As Restore
rs = New Restore
'Set the NoRecovery property to true, so the transactions are not recovered.
rs.NoRecovery = True
'Add the device that contains the full database backup to the Restore object.
rs.Devices.Add(bdi)
'Specify the database name.
rs.Database = "AdventureWorks2012"
'Restore the full database backup with no recovery.
rs.SqlRestore(srv)
'Inform the user that the Full Database Restore is complete.
Console.WriteLine("Full Database Restore complete.")
'Remove the device from the Restore object.
rs.Devices.Remove(bdi)
'Set te NoRecovery property to False.
rs.NoRecovery = False
'Add the device that contains the differential backup to the Restore object.
rs.Devices.Add(bdid)
'Restore the differential database backup with recovery.
rs.SqlRestore(srv)
'Inform the user that the differential database restore is complete.
Console.WriteLine("Differential Database Restore complete.")
'Remove the device.
rs.Devices.Remove(bdid)
'Set the database recovery mode back to its original value.
srv.Databases("AdventureWorks2012").DatabaseOptions.RecoveryModel = recoverymod
'Drop the table that was added.
srv.Databases("AdventureWorks2012").Tables("test_table").Drop()
srv.Databases("AdventureWorks2012").Alter()
'Remove the backup files from the hard disk.
My.Computer.FileSystem.DeleteFile("C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\Test_Full_Backup1")
My.Computer.FileSystem.DeleteFile("C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\Test_Differential_Backup1")

Powershell

$srv = new-object Microsoft.SqlServer.Management.Smo.Server("(local)")
$db = New-Object Microsoft.SqlServer.Management.Smo.Database
$db = $srv.Databases.Item("AdventureWorks2012")
$rs = new-object Microsoft.SqlServer.Management.Smo.Restore
$rs.NoRecovery = $TRUE
$rs.Devices.Add($bdi)
$recoverymod = $db.DatabaseOptions.RecoveryModel
$bk = new-object Microsoft.SqlServer.Management.Smo.Backup
$bk.Action = [Microsoft.SqlServer.Management.Smo.BackupActionType]::Database
$bk.BackupSetDescription = "Full backup of AdventureWorks2012"
$bk.BackupSetName = "AdventureWorks2012 Backup"
$bk.Database = "AdventureWorks2012"
$bdi = new-object Microsoft.SqlServer.management.Smo.BackupDeviceItem("Test_Full_Backup1", [Microsoft.SqlServer.Management.Smo.DeviceType]::File)
$bk.Devices.Add($bdi)
$bk.Incremental = $FALSE
$backupdate = new-object System.DateTime(2009, 3, 2)
$bk.ExpirationDate = $backupdate
$bk.LogTruncation = [Microsoft.SqlServer.Management.Smo.BackupTruncateLogType]::Truncate
$bk.SqlBackup($srv)
Write-Host "Full Backup complete."
$bk.Devices.Remove($bdi)
$t = new-object Microsoft.SqlServer.Management.Smo.Table($db, "test_table")
$c = new-object Microsoft.SqlServer.Management.Smo.Column($t, "col", [Microsoft.SqlServer.Management.Smo.DataType]::Int)
$t.Columns.Add($c)
$t.Create()
$bdid = new-object Microsoft.SqlServer.Management.Smo.BackupDeviceItem("Test_Differential_Backup1", [Microsoft.SqlServer.Management.Smo.DeviceType]::File)
$bk.Devices.Add($bdid)
$bk.Incremental = $TRUE
$bk.SqlBackup($srv)
Write-Host "Differential Backup complete."
$bk.Devices.Remove($bdid)
$rs.Database = "AdventureWorks2012"
$srv.Databases["AdventureWorks2012"].Drop()
$rs.SqlRestore($srv)
Write-Host "Full Database Restore complete."
$rs.Devices.Remove($bdi)
$rs.NoRecovery = $FALSE
$rs.Devices.Add($bdid)
$rs.SqlRestore($srv)
Write-Host "Differential Database Restore complete."
$rs.Devices.Remove($bdid)
$srv.Databases["AdventureWorks2012"].DatabaseOptions.RecoveryModel = $recoverymod
$srv.Databases["AdventureWorks2012"].Tables["test_table"].Drop()
$srv.Databases["AdventureWorks2012"].Alter()
remove-item C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\Test_Full_Backup1
remove-item C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\Test_Differential_Backup1

Seguridad para subprocesos

Cualquier miembro público static (Shared en Visual Basic) de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Vea también

Referencia

Espacio de nombres Microsoft.SqlServer.Management.Smo

Otros recursos

RESTORE (Transact-SQL)

Realizar copias de seguridad y restaurar bases de datos de SQL Server

Realizar de copias de seguridad y restaurar bases de datos y registros de transacciones