Instrucciones RESTORE (Transact-SQL)RESTORE Statements (Transact-SQL)

Restaura copias de seguridad de bases de datos de SQL realizadas con el comando BACKUP.Restores SQL database backups taken using the BACKUP command.

Haga clic en una de las pestañas siguientes para obtener la sintaxis, los argumentos, los comentarios, los permisos y los ejemplos para una versión de SQL concreta con la que está trabajando.Click one of the following tabs for the syntax, arguments, remarks, permissions, and examples for a particular SQL version with which you are working.

Para obtener más información sobre las convenciones de sintaxis, vea Convenciones de sintaxis de Transact-SQL.For more information about the syntax conventions, see Transact-SQL Syntax Conventions.

Haga clic en un producto.Click a product!

En la siguiente fila, haga clic en cualquier nombre de producto que le interese.In the following row, click whichever product name you are interested in. Al hacer clic, aquí se muestra otro contenido, adecuado para el producto que seleccione:The click displays different content here, appropriate for whichever product you click:

** * SQL Server * **  * SQL Server *   Instancia administrada de
SQL Database
SQL Database
managed instance
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

SQL ServerSQL Server

Este comando le permite realizar los siguientes escenarios de restauración:This command enables you to perform the following restore scenarios:

  • Restaurar una base de datos completa a partir de una copia de seguridad completa de la base de datos (restauración completa).Restore an entire database from a full database backup (a complete restore).
  • Restaurar parte de una base de datos (restauración parcial).Restore part of a database (a partial restore).
  • Restaurar archivos o grupos de archivos en una base de datos (restauración de archivos).Restore specific files or filegroups to a database (a file restore).
  • Restaurar páginas específicas en una base de datos (restauración de páginas).Restore specific pages to a database (a page restore).
  • Restaurar un registro de transacciones en una base de datos (restauración del registro de transacciones).Restore a transaction log onto a database (a transaction log restore).
  • Revertir una base de datos al punto temporal capturado por una instantánea de base de datos.Revert a database to the point in time captured by a database snapshot.

Para más información sobre los escenarios de restauración de SQL ServerSQL Server, vea Información general sobre restauración y recuperación.For more information about SQL ServerSQL Server restore scenarios, see Restore and Recovery Overview. Para obtener las descripciones de los argumentos, vea RESTORE Arguments. (Argumentos de RESTORE).For more information about descriptions of the arguments, see RESTORE Arguments. Cuando restaure una base de datos desde otra instancia, considere la información de Administrar los metadatos cuando una base de datos pasa a estar disponible en otra instancia de servidor (SQL Server).When restoring a database from another instance, consider the information from Manage Metadata When Making a Database Available on Another Server Instance (SQL Server).

Nota

Para más información sobre cómo restaurar desde el servicio Windows Azure Blob Storage, vea Copia de seguridad y restauración de SQL Server con el servicio Microsoft Azure Blob Storage.For more information about restoring from the Microsoft Azure Blob storage service, see SQL Server Backup and Restore with Microsoft Azure Blob Storage Service.

SintaxisSyntax

--To Restore an Entire Database from a Full database backup (a Complete Restore):
RESTORE DATABASE { database_name | @database_name_var }
 [ FROM <backup_device> [ ,...n ] ]
 [ WITH
   {
    [ RECOVERY | NORECOVERY | STANDBY =
        {standby_file_name | @standby_file_name_var }
       ]
   | ,  <general_WITH_options> [ ,...n ]
   | , <replication_WITH_option>
   | , <change_data_capture_WITH_option>
   | , <FILESTREAM_WITH_option>
   | , <service_broker_WITH options>
   | , \<point_in_time_WITH_options-RESTORE_DATABASE>
   } [ ,...n ]
 ]
[;]

--To perform the first step of the initial restore sequence of a piecemeal restore:
RESTORE DATABASE { database_name | @database_name_var }
   <files_or_filegroups> [ ,...n ]
 [ FROM <backup_device> [ ,...n ] ]
   WITH
      PARTIAL, NORECOVERY
      [  , <general_WITH_options> [ ,...n ]
       | , \<point_in_time_WITH_options-RESTORE_DATABASE>
      ] [ ,...n ]
[;]  

--To Restore Specific Files or Filegroups:
RESTORE DATABASE { database_name | @database_name_var }
   <file_or_filegroup> [ ,...n ]
 [ FROM <backup_device> [ ,...n ] ]
   WITH
   {
      [ RECOVERY | NORECOVERY ]
      [ , <general_WITH_options> [ ,...n ] ]
   } [ ,...n ]
[;]  

--To Restore Specific Pages:
RESTORE DATABASE { database_name | @database_name_var }
   PAGE = 'file:page [ ,...n ]'
 [ , <file_or_filegroups> ] [ ,...n ]
 [ FROM <backup_device> [ ,...n ] ]
   WITH
       NORECOVERY
      [ , <general_WITH_options> [ ,...n ] ]
[;]

--To Restore a Transaction Log:
RESTORE LOG { database_name | @database_name_var }
 [ <file_or_filegroup_or_pages> [ ,...n ] ]
 [ FROM <backup_device> [ ,...n ] ]
 [ WITH
   {
     [ RECOVERY | NORECOVERY | STANDBY =
        {standby_file_name | @standby_file_name_var }
       ]
    | , <general_WITH_options> [ ,...n ]
    | , <replication_WITH_option>
    | , \<point_in_time_WITH_options-RESTORE_LOG>
   } [ ,...n ]
 ]
[;]

--To Revert a Database to a Database Snapshot:
RESTORE DATABASE { database_name | @database_name_var }
FROM DATABASE_SNAPSHOT = database_snapshot_name

<backup_device>::=
{
   { logical_backup_device_name |
      @logical_backup_device_name_var }
 | { DISK
     | TAPE
     | URL
   } = { 'physical_backup_device_name' |
      @physical_backup_device_name_var }
}
Note: URL is the format used to specify the location and the file name for the Microsoft Azure Blob. Although Microsoft Azure storage is a service, the implementation is similar to disk and tape to allow for a consistent and seamless restore experience for all the three devices.
<files_or_filegroups>::=
{
   FILE = { logical_file_name_in_backup | @logical_file_name_in_backup_var }
 | FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
 | READ_WRITE_FILEGROUPS
}

<general_WITH_options> [ ,...n ]::=
--Restore Operation Options
   MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name'
          [ ,...n ]
 | REPLACE
 | RESTART
 | RESTRICTED_USER | CREDENTIAL

--Backup Set Options
 | FILE = { backup_set_file_number | @backup_set_file_number }
 | PASSWORD = { password | @password_variable }

--Media Set Options
 | MEDIANAME = { media_name | @media_name_variable }
 | MEDIAPASSWORD = { mediapassword | @mediapassword_variable }
 | BLOCKSIZE = { blocksize | @blocksize_variable }

--Data Transfer Options
 | BUFFERCOUNT = { buffercount | @buffercount_variable }
 | MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }

--Error Management Options
 | { CHECKSUM | NO_CHECKSUM }
 | { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }

--Monitoring Options
 | STATS [ = percentage ]

--Tape Options.
 | { REWIND | NOREWIND }
 | { UNLOAD | NOUNLOAD }

<replication_WITH_option>::=
 | KEEP_REPLICATION

<change_data_capture_WITH_option>::=
 | KEEP_CDC

<FILESTREAM_WITH_option>::=
 | FILESTREAM ( DIRECTORY_NAME = directory_name )

<service_broker_WITH_options>::=
 | ENABLE_BROKER
 | ERROR_BROKER_CONVERSATIONS
 | NEW_BROKER

\<point_in_time_WITH_options-RESTORE_DATABASE>::=
 | {
   STOPAT = { 'datetime'| @datetime_var }
 | STOPATMARK = 'lsn:lsn_number'
                 [ AFTER 'datetime']
 | STOPBEFOREMARK = 'lsn:lsn_number'
                 [ AFTER 'datetime']
   }

\<point_in_time_WITH_options-RESTORE_LOG>::=
 | {
   STOPAT = { 'datetime'| @datetime_var }
 | STOPATMARK = { 'mark_name' | 'lsn:lsn_number' }
                 [ AFTER 'datetime']
 | STOPBEFOREMARK = { 'mark_name' | 'lsn:lsn_number' }
                 [ AFTER 'datetime']
   }

ArgumentosArguments

Para obtener las descripciones de los argumentos, vea RESTORE Arguments (Argumentos de RESTORE).For descriptions of the arguments, see RESTORE Arguments.

Escenarios de restauraciónAbout Restore Scenarios

SQL ServerSQL Server admite una serie de escenarios de restauración:supports a variety of restore scenarios:

Cuando se admite la restauración en línea, si la base de datos está en línea, las restauraciones de archivos y de página se convierten automáticamente en restauraciones en línea y en restauraciones de grupos de archivos secundarios tras la fase inicial de una restauración por etapas.Where online restore is supported, if the database is online, file restores and page restores are automatically online restores and, also, restores of secondary filegroup after the initial stage of a piecemeal restore.

Nota

Las restauraciones en línea pueden implicar transacciones diferidas.Online restores can involve deferred transactions.

Para tener más información, consulte Restauración en línea.For more information, see Online Restore.

Consideraciones adicionales sobre las opciones de RESTOREAdditional Considerations About RESTORE Options

Palabras clave de RESTORE no incluidasDiscontinued RESTORE Keywords

Las siguientes palabras clave no se incluyeron en SQL Server 2008SQL Server 2008:The following keywords were discontinued in SQL Server 2008SQL Server 2008:

Palabra clave no incluidaDiscontinued keyword Se reemplaza por…Replaced by... Ejemplo de palabra clave de reemplazoExample of replacement keyword
LOADLOAD RESTORERESTORE RESTORE DATABASE
TRANSACTIONTRANSACTION LOGLOG RESTORE LOG
DBO_ONLYDBO_ONLY RESTRICTED_USERRESTRICTED_USER RESTORE DATABASE ... WITH RESTRICTED_USER

RESTORE LOGRESTORE LOG

RESTORE LOG puede incluir una lista de archivos que permita la creación de archivos durante la puesta al día.RESTORE LOG can include a file list to allow for creation of files during roll forward. Esta opción se utiliza cuando la copia de seguridad de registros contiene entradas de registro escritas al agregar un archivo a la base de datos.This is used when the log backup contains log records written when a file was added to the database.

Nota

En el caso de una base de datos que utilice el modelo de recuperación completa o el modelo de recuperación optimizado para cargas masivas de registros, en la mayoría de los casos se debe realizar una copia de seguridad del final del registro antes de restaurar la base de datos.For a database using the full or bulk-logged recovery model, in most cases you must back up the tail of the log before restoring the database. Restaurar una base de datos sin hacer primero una copia del final del registro produce un error, a menos que la instrucción RESTORE DATABASE contenga una cláusula WITH REPLACE o WITH STOPAT, que deben especificar un tiempo o una transacción producidos después de finalizar la copia de seguridad de los datos.Restoring a database without first backing up the tail of the log results in an error, unless the RESTORE DATABASE statement contains either the WITH REPLACE or the WITH STOPAT clause, which must specify a time or transaction that occurred after the end of the data backup. Para obtener más información sobre las copias del final del registro, vea Copias del final del registro.For more information about tail-log backups, see Tail-Log Backups.

Comparación de RECOVERY y NORECOVERYComparison of RECOVERY and NORECOVERY

La reversión se controla con la instrucción RESTORE mediante las opciones [ RECOVERY | NORECOVERY ]:Roll back is controlled by the RESTORE statement through the [ RECOVERY | NORECOVERY ] options:

  • NORECOVERY especifica que la reversión no se produce.NORECOVERY specifies that roll back not occur. Esto permite la puesta al día para continuar con la siguiente instrucción de la secuencia.This allows roll forward to continue with the next statement in the sequence.

    En este caso, la secuencia de restauración puede restaurar otras copias de seguridad y ponerlas al día.In this case, the restore sequence can restore other backups and roll them forward.

  • RECOVERY (predeterminado) indica que se debe realizar la reversión una vez completada la puesta al día para la copia de seguridad actual.RECOVERY (the default) indicates that roll back should be performed after roll forward is completed for the current backup.

    La recuperación de la base de datos requiere a su vez que la restauración del conjunto de datos completo (conjunto de puestas al día) sea coherente con la base de datos.Recovering the database requires that the entire set of data being restored (the roll forward set) is consistent with the database. Si el conjunto de puestas al día no se ha puesto al día lo suficiente como para ser coherente con la base de datos y se especifica RECOVERY, el Motor de base de datosDatabase Engine genera un error.If the roll forward set has not been rolled forward far enough to be consistent with the database and RECOVERY is specified, the Motor de base de datosDatabase Engine issues an error.

Soporte de compatibilidadCompatibility Support

Las copias de seguridad de las bases de datos maestra, de modelos y msdb creadas usando una versión anterior de SQL ServerSQL Server no se pueden restaurar con SQL Server 2017SQL Server 2017.Backups of master, model and msdb that were created by using an earlier version of SQL ServerSQL Server cannot be restored by SQL Server 2017SQL Server 2017.

Nota

No se puede restaurar una copia de seguridad de SQL ServerSQL Server a una versión de SQL ServerSQL Server anterior a la versión en que se creó la copia de seguridad.No SQL ServerSQL Server backup be restored to an earlier version of SQL ServerSQL Server than the version on which the backup was created.

Cada versión de SQL ServerSQL Server utiliza una ruta de acceso predeterminada distinta de la de las versiones anteriores.Each version of SQL ServerSQL Server uses a different default path than earlier versions. Por tanto, para restaurar una base de datos creada en la ubicación predeterminada para las copias de seguridad de versiones anteriores, es preciso usar la opción MOVE.Therefore, to restore a database that was created in the default location for earlier version backups, you must use the MOVE option. Para más información sobre la nueva ruta de acceso predeterminada, vea Ubicaciones de archivos para las instancias predeterminadas y con nombre de SQL Server.For information about the new default path, see File Locations for Default and Named Instances of SQL Server.

Después de restaurar una base de datos de una versión anterior en SQL Server 2017SQL Server 2017, la base de datos se actualiza automáticamente.After you restore an earlier version database to SQL Server 2017SQL Server 2017, the database is automatically upgraded. Normalmente, la base de datos está disponible inmediatamente.Typically, the database becomes available immediately. Pero si la base de datos de SQL Server 2005 (9.x)SQL Server 2005 (9.x) tiene índices de texto completo, el proceso de actualización los importa, los restablece o los vuelve a generar, en función del valor de la propiedad del servidor upgrade_option.However, if a SQL Server 2005 (9.x)SQL Server 2005 (9.x) database has full-text indexes, the upgrade process either imports, resets, or rebuilds them, depending on the setting of the upgrade_option server property. Si la opción de actualización se establece en importar (upgrade_option = 2) o en volver a generar (upgrade_option = 0), los índices de texto completo no estarán disponibles durante la actualización.If the upgrade option is set to import (upgrade_option = 2) or rebuild (upgrade_option = 0), the full-text indexes will be unavailable during the upgrade. Dependiendo de la cantidad de datos que se indicen, la importación puede requerir varias horas y volver a generar puede requerir hasta diez veces más.Depending the amount of data being indexed, importing can take several hours, and rebuilding can take up to ten times longer. Observe también que cuando la opción de actualización se establece en importar, se vuelven a generar los índices de texto completo asociados si no se dispone de un catálogo de texto completo.Note also that when the upgrade option is set to import, the associated full-text indexes are rebuilt if a full-text catalog is not available. Para cambiar el valor de la propiedad de servidor upgrade_option , use sp_fulltext_service.To change the setting of the upgrade_option server property, use sp_fulltext_service.

La primera vez que se adjunta una base de datos o se restaura en una instancia nueva de SQL ServerSQL Server, aún no se ha almacenado una copia de la clave maestra de la base de datos (cifrada por la clave maestra de servicio) en el servidor.When a database is first attached or restored to a new instance of SQL ServerSQL Server, a copy of the database master key (encrypted by the service master key) is not yet stored in the server. Debe usar la instrucción OPEN MASTER KEY para descifrar la clave maestra de la base de datos (DMK).You must use the OPEN MASTER KEY statement to decrypt the database master key (DMK). Una vez que se ha descifrado la clave maestra de la base de datos, tiene la posibilidad de habilitar el descifrado automático en el futuro usando la instrucción ALTER MASTER KEY REGENERATE para proporcionar al servidor una copia de la clave maestra de la base de datos cifrada con la clave maestra de servicio (SMK).Once the DMK has been decrypted, you have the option of enabling automatic decryption in the future by using the ALTER MASTER KEY REGENERATE statement to provision the server with a copy of the DMK, encrypted with the service master key (SMK). Cuando una base de datos se haya actualizado desde una versión anterior, se debe volver a generar la DMK para usar el algoritmo AES más reciente.When a database has been upgraded from an earlier version, the DMK should be regenerated to use the newer AES algorithm. Para obtener más información sobre cómo volver a generar la DMK, vea ALTER MASTER KEY.For more information about regenerating the DMK, see ALTER MASTER KEY. El tiempo necesario para volver a generar la DMK con el fin de actualizarse a AES depende del número de objetos protegidos por la DMK.The time required to regenerate the DMK key to upgrade to AES depends upon the number of objects protected by the DMK. Solo es necesario volver a generar la DMK una vez y no tiene ningún efecto sobre las nuevas generaciones futuras como parte de una estrategia de rotación de claves.Regenerating the DMK key to upgrade to AES is only necessary once, and has no impact on future regenerations as part of a key rotation strategy.

Notas generalesGeneral Remarks

Durante una restauración sin conexión, si la base de datos especificada se está usando, RESTORE obliga a los usuarios a desconectarse tras un breve retraso.During an offline restore, if the specified database is in use, RESTORE forces the users off after a short delay. En el caso de una restauración en línea de un grupo de archivos no principal, la base de datos puede seguir usándose excepto si el grupo de archivos que se está restaurando se ha puesto fuera de conexión.For online restore of a non-primary filegroup, the database can stay in use except when the filegroup being restored is being taken offline. Los datos de la base de datos especificada se reemplazan por los datos restaurados.Any data in the specified database is replaced by the restored data.

Para más información sobre la recuperación de bases de datos, vea Información general sobre restauración y recuperación.For more information about database recovery, see Restore and Recovery Overview.

Se pueden realizar operaciones de restauración entre plataformas, incluso entre diferentes tipos de procesador, siempre que el sistema operativo admita la intercalación de la base de datos.Cross-platform restore operations, even between different processor types, can be performed as long as the collation of the database is supported by the operating system.

RESTORE se puede reiniciar después de un error.RESTORE can be restarted after an error. Además, puede indicar a RESTORE que continúe a pesar de los errores para que restaure la mayor cantidad de datos posible (vea la opción CONTINUE_AFTER_ERROR).In addition, you can instruct RESTORE to continue despite errors, and it restores as much data as possible (see the CONTINUE_AFTER_ERROR option).

RESTORE no se permite en una transacción explícita o implícita.RESTORE is not allowed in an explicit or implicit transaction.

Para restaurar una base de datos maestra dañada se usa un procedimiento especial.Restoring a damaged master database is performed using a special procedure. Para obtener más información, vea Realizar copias de seguridad y restaurar bases de datos del sistema.For more information, see Back Up and Restore of System Databases.

Al restaurar una base de datos se borra la memoria caché del plan para la instancia de SQL ServerSQL Server.Restoring a database clears the plan cache for the instance of SQL ServerSQL Server. Al borrar la memoria caché de planes, se provoca una nueva compilación de todos los planes de ejecución posteriores y puede ocasionar una disminución repentina y temporal del rendimiento de las consultas.Clearing the plan cache causes a recompilation of all subsequent execution plans and can cause a sudden, temporary decrease in query performance. Para cada almacén de caché borrado de la caché de planes, el registro de errores de SQL ServerSQL Server contendrá el siguiente mensaje informativo: "SQL ServerSQL Server ha detectado %d instancias de vaciado del almacén de caché "%s" (parte de la memoria caché de planes) debido a determinadas operaciones de mantenimiento de base de datos o reconfiguración".For each cleared cachestore in the plan cache, the SQL ServerSQL Server error log contains the following informational message: " SQL ServerSQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations". Este mensaje se registra cada cinco minutos siempre que se vacíe la memoria caché dentro de ese intervalo de tiempo.This message is logged every five minutes as long as the cache is flushed within that time interval.

Para restaurar una base de datos de disponibilidad, restaure primero la base de datos a la instancia de SQL ServerSQL Server y, a continuación, agréguela al grupo de disponibilidadTo restore an availability database, first restore the database to the instance of SQL ServerSQL Server, and then add the database to the availability group.

InteroperabilidadInteroperability

Configuración y restauración de bases de datosDatabase Settings and Restoring

Durante una restauración, la mayoría de las opciones de la base de datos que se pueden configurar con ALTER DATABASE se restablecen a los valores vigentes en el momento en que finaliza la copia de seguridad.During a restore, most of the database options that are settable using ALTER DATABASE are reset to the values in force at the time of the end of backup.

Sin embargo, la opción WITH RESTRICTED_USER invalida este comportamiento para configurar la opción de acceso del usuario.Using the WITH RESTRICTED_USER option, however, overrides this behavior for the user access option setting. Esta configuración siempre se establece tras una instrucción RESTORE que contiene la opción WITH RESTRICTED_USER.This setting is always set following a RESTORE statement, which includes the WITH RESTRICTED_USER option.

Restaurar una base de datos cifradaRestoring an Encrypted Database

Para restaurar una base de datos cifrada, debe tener acceso al certificado o la clave asimétrica que se usó para cifrarla.To restore a database that is encrypted, you must have access to the certificate or asymmetric key that was used to encrypt the database. La base de datos no se puede restaurar sin el certificado o la clave asimétrica.Without the certificate or asymmetric key, the database cannot be restored. Como resultado, se debe conservar el certificado que se usa para cifrar la clave de cifrado de base de datos mientras se necesite la copia de seguridad.As a result, the certificate that is used to encrypt the database encryption key must be retained as long as the backup is needed. Para obtener más información, consulte SQL Server Certificates and Asymmetric Keys.For more information, see SQL Server Certificates and Asymmetric Keys.

Restaurar una base de datos habilitada para el formato de almacenamiento vardecimalRestoring a Database Enabled for vardecimal Storage

Las copias de seguridad y restauración se realizan correctamente con el formato de almacenamiento vardecimal.Backup and restore work correctly with the vardecimal storage format. Para más información sobre el formato de almacenamiento vardecimal, vea sp_db_vardecimal_storage_format.For more information about vardecimal storage format, see sp_db_vardecimal_storage_format.

Restaurar datos de texto completoRestore Full-Text Data

Los datos de texto completo se restauran junto con otros datos de la base de datos durante una restauración completa.Full-text data is restored together with other database data during a complete restore. Con el uso de la sintaxis RESTORE DATABASE database_name FROM backup_device normal, los archivos de texto completo se restauran como parte de la restauración de archivos de la base de datos.Using the regular RESTORE DATABASE database_name FROM backup_device syntax, the full-text files are restored as part of the database file restore.

La instrucción RESTORE también se puede utilizar para realizar restauraciones en ubicaciones alternativas, restauraciones diferenciales, restauraciones de archivos y grupos de archivos, y restauraciones de archivos y grupos de archivos diferenciales de datos de texto completo.The RESTORE statement also can be used to perform restores to alternate locations, differential restores, file and filegroup restores, and differential file and filegroup restores of full-text data. Además, la instrucción RESTORE puede restaurar solo los archivos de texto completo, al igual que con datos de la base de datos.In addition, RESTORE can restore full-text files only, as well as with database data.

Nota

Los catálogos de texto completo importados de SQL Server 2005 (9.x)SQL Server 2005 (9.x) se tratan todavía como archivos de base de datos.Full-text catalogs imported from SQL Server 2005 (9.x)SQL Server 2005 (9.x) are still treated as database files. Para estos, el procedimiento de SQL Server 2005 (9.x)SQL Server 2005 (9.x) para realizar la copia de seguridad de los catálogos de texto completo se sigue pudiendo aplicar, excepto en que ya no es necesario pausar y reanudar la operación de copia de seguridad.For these, the SQL Server 2005 (9.x)SQL Server 2005 (9.x) procedure for backing up full-text catalogs remains applicable, except that pausing and resuming during the backup operation are no longer necessary. Para más información, vea Realizar copias de seguridad de los catálogos de texto completo y restaurarlos.For more information, see Backing Up and Restoring Full-Text Catalogs.

MetadatosMetadata

SQL ServerSQL Server incluye las tablas del historial de copias de seguridad y restauración que realizan el seguimiento de estas actividades para cada instancia del servidor.includes backup and restore history tables that track the backup and restore activity for each server instance. Cuando se realiza una restauración, se modifican también las tablas del historial de copias de seguridad.When a restore is performed, the backup history tables are also modified. Para más información sobre estas tablas, vea Historial de copias de seguridad e información de encabezados.For information on these tables, see Backup History and Header Information.

Impacto de la opción REPLACEREPLACE Option Impact

REPLACE no debe usarse a menudo y solo después de haberlo pensado detenidamente.REPLACE should be used rarely and only after careful consideration. La opción Restore suele impedir que se sobrescriba accidentalmente una base de datos con otra base de datos.Restore normally prevents accidentally overwriting a database with a different database. Si la base de datos especificada en una instrucción RESTORE ya existe en el servidor actual y el GUID de la familia de base de datos especificado difiere del GUID de la familia de base de datos registrado en el conjunto de copia de seguridad, no se restaura la base de datos.If the database specified in a RESTORE statement already exists on the current server and the specified database family GUID differs from the database family GUID recorded in the backup set, the database is not restored. Ésta es una importante medida preventiva.This is an important safeguard.

La opción REPLACE omite varias comprobaciones de seguridad importantes que suele realizar la opción Restore.The REPLACE option overrides several important safety checks that restore normally performs. Las comprobaciones que se omiten son:The overridden checks are as follows:

  • Restauración sobre una base de datos existente con una copia de seguridad tomada de otra base de datos.Restoring over an existing database with a backup taken of another database.

    Con la opción REPLACE, la operación de restauración permite sobrescribir una base de datos existente con cualquier base de datos del conjunto de copia de seguridad, incluso si el nombre de base de datos especificado difiere del nombre de base de datos grabado en el conjunto de copia de seguridad.With the REPLACE option, restore allows you to overwrite an existing database with whatever database is in the backup set, even if the specified database name differs from the database name recorded in the backup set. Esto puede dar lugar a que se sobrescriba accidentalmente una base de datos con una base de datos diferente.This can result in accidentally overwriting a database by a different database.

  • Restauración de una base de datos con el modelo de recuperación completa o con el modelo de recuperación optimizado para cargas masivas de registros donde no se ha realizado una copia del final del registro y no se utiliza la opción STOPAT.Restoring over a database using the full or bulk-logged recovery model where a tail-log backup has not been taken and the STOPAT option is not used.

    Con la opción REPLACE, puede perder trabajo comprometido, porque no se ha realizado una copia de seguridad del registro escrito más recientemente.With the REPLACE option, you can lose committed work, because the log written most recently has not been backed up.

  • Sobrescritura de archivos existentes.Overwriting existing files.

    Por ejemplo, un error puede permitir la sobrescritura de archivos del tipo equivocado, como archivos .xls, o archivos que está utilizando otra base de datos que no está actualmente en línea.For example, a mistake could allow overwriting files of the wrong type, such as .xls files, or that are being used by another database that is not online. La pérdida arbitraria de datos es posible si se sobrescriben archivos existentes, aunque la base de datos restaurada esté completa.Arbitrary data loss is possible if existing files are overwritten, although the restored database is complete.

Rehacer una restauraciónRedoing a Restore

Aunque no es posible deshacer los efectos de una restauración, puede cancelar los efectos de la copia de datos y realizar una puesta al día si comienza de nuevo con los archivos de uno en uno.Undoing the effects of a restore is not possible; however, you can negate the effects of the data copy and roll forward by starting over on a per-file basis. Para comenzar de nuevo, restaure el archivo que desee y vuelva a realizar la puesta al día.To start over, restore the desired file and perform the roll forward again. Por ejemplo, si ha restaurado demasiadas copias de seguridad de registros por error y ha superado el punto de detención deseado, debe reiniciar la secuencia.For example, if you accidentally restored too many log backups and overshot your intended stopping point, you would have to restart the sequence.

Una secuencia de restauración se puede anular y reiniciar mediante la restauración de todo el contenido de los archivos afectados.A restore sequence can be aborted and restarted by restoring the entire contents of the affected files.

Revertir una base de datos a una instantánea de base de datosReverting a Database to a Database Snapshot

Una operación de reversión de base de datos (especificada con la opción DATABASE_SNAPSHOT) hace retroceder en el tiempo una base de datos de origen completa al revertirla a una instantánea de base de datos, es decir, al sobrescribir la base de datos de origen con datos del momento en que se creó la instantánea especificada.A revert database operation (specified using the DATABASE_SNAPSHOT option) takes a full source database back in time by reverting it to the time of a database snapshot, that is, overwriting the source database with data from the point in time maintained in the specified database snapshot. En un momento dado solo puede existir la instantánea a la que se va a revertir la base de datos.Only the snapshot to which you are reverting can currently exist. A continuación, la operación de reversión vuelve a generar el registro (por lo tanto, no puede poner al día una base de datos revertida en el punto del error del usuario).The revert operation then rebuilds the log (therefore, you cannot later roll forward a reverted database to the point of user error).

La pérdida de datos se limita a las actualizaciones de la base de datos desde la creación de la instantánea.Data loss is confined to updates to the database since the snapshot's creation. Los metadatos de una base de datos revertida son iguales a los metadatos en el momento de la creación de la instantánea.The metadata of a reverted database is the same as the metadata at the time of snapshot creation. No obstante, si se revierte a una instantánea, se quitan todos los catálogos de texto completo.However, reverting to a snapshot drops all the full-text catalogs.

La reversión a partir de una instantánea de base de datos no se utiliza para la recuperación de medios.Reverting from a database snapshot is not intended for media recovery. A diferencia de un conjunto de copia de seguridad normal, la instantánea de base de datos es una copia incompleta de los archivos de la base de datos.Unlike a regular backup set, the database snapshot is an incomplete copy of the database files. Si la base de datos o la instantánea de base de datos están dañadas, es probable que no se pueda realizar la reversión a partir de una instantánea.If either the database or the database snapshot is corrupted, reverting from a snapshot is likely to be impossible. Además, aunque sea posible, no es probable que la reversión corrija el problema si se produjeran daños.Furthermore, even when possible, reverting in the event of corruption is unlikely to correct the problem.

Restricciones de la reversiónRestrictions on Reverting

La reversión no se admite en las siguientes condiciones:Reverting is unsupported under the following conditions:

  • La base de datos de origen contiene todos los grupos de archivos de solo lectura o comprimidos.The source database contains any read-only or compressed filegroups.
  • Algunos archivos sin conexión estaban en línea en el momento de crear la instantánea.Any files are offline that were online when the snapshot was created.
  • Actualmente existen varias instantáneas de la base de datos.More than one snapshot of the database currently exists.

Para más información, vea Revertir una base de datos a una instantánea de base de datos.For more information, see Revert a Database to a Database Snapshot.

SeguridadSecurity

La operación de copia de seguridad puede especificar opcionalmente contraseñas para un conjunto de medios, para un conjunto de copia de seguridad o para ambos.A backup operation may optionally specify passwords for a media set, a backup set, or both. Si se ha definido una contraseña en un conjunto de medios o un conjunto de copia de seguridad, debe especificar la contraseña o contraseñas correctas en la instrucción RESTORE.When a password has been defined on a media set or backup set, you must specify the correct password or passwords in the RESTORE statement. Estas contraseñas impiden operaciones de restauración y anexiones no autorizadas de los conjuntos de copia de seguridad en medios que utilizan herramientas de SQL ServerSQL Server.These passwords prevent unauthorized restore operations and unauthorized appends of backup sets to media using SQL ServerSQL Server tools. No obstante, los medios protegidos con contraseña se pueden sobrescribir mediante la opción FORMAT de la instrucción BACKUP.However, password-protected media can be overwritten by the BACKUP statement's FORMAT option.

Importante

El nivel de protección que proporciona esta contraseña es bajo.The protection provided by this password is weak. El objetivo es impedir una restauración incorrecta con las herramientas de SQL ServerSQL Server, ya sea por parte de usuarios autorizados o no autorizados.It is intended to prevent an incorrect restore using SQL ServerSQL Server tools by authorized or unauthorized users. No impide la lectura de los datos de las copias de seguridad por otros medios o el reemplazo de la contraseña.It does not prevent the reading of the backup data by other means or the replacement of the password. Esta característica está en modo de mantenimiento y es posible que no se incluya en una versión futura de Microsoft SQL Server.This feature is in maintenance mode and may be removed in a future version of Microsoft SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.El procedimiento recomendado para proteger las copias de seguridad consiste en almacenar las cintas de copia de seguridad en una ubicación segura o en hacer una copia de seguridad en archivos de disco protegidos con las listas de control de acceso (ACL) adecuadas.The best practice for protecting backups is to store backup tapes in a secure location or back up to disk files that are protected by adequate access control lists (ACLs). Las ACL se deben establecer en el directorio raíz en el que se crean las copias de seguridad.The ACLs should be set on the directory root under which backups are created.

Nota

Para más información específica sobre las operaciones de copia de seguridad y restauración de SQL Server con Microsoft Azure Blob Storage, vea Copia de seguridad y restauración de SQL Server con el servicio Microsoft Azure Blob Storage.For information specific to SQL Server backup and restore with the Microsoft Azure Blob storage, see SQL Server Backup and Restore with Microsoft Azure Blob Storage Service.

PermisosPermissions

Si la base de datos que se va a restaurar no existe, el usuario debe tener permisos CREATE DATABASE para poder ejecutar RESTORE.If the database being restored does not exist, the user must have CREATE DATABASE permissions to be able to execute RESTORE. Si la base de datos existe, los permisos RESTORE corresponden de forma predeterminada a los miembros de los roles fijos de servidor sysadmin y dbcreator , y al propietario (dbo) de la base de datos (para la opción FROM DATABASE_SNAPSHOT, la base de datos siempre existe).If the database exists, RESTORE permissions default to members of the sysadmin and dbcreator fixed server roles and the owner (dbo) of the database (for the FROM DATABASE_SNAPSHOT option, the database always exists).

Los permisos RESTORE se conceden a los roles en los que la información acerca de la pertenencia está siempre disponible para el servidor.RESTORE permissions are given to roles in which membership information is always readily available to the server. Debido a que la pertenencia a un rol fijo de base de datos solo se puede comprobar cuando la base de datos es accesible y no está dañada, lo que no siempre ocurre cuando se ejecuta RESTORE, los miembros del rol fijo de base de datos db_owner no tienen permisos RESTORE.Because fixed database role membership can be checked only when the database is accessible and undamaged, which is not always the case when RESTORE is executed, members of the db_owner fixed database role do not have RESTORE permissions.

EjemplosExamples

En todos los ejemplos se supone que se ha realizado una copia de seguridad completa de la base de datos.All the examples assume that a full database backup has been performed.

Entre los ejemplos de RESTORE se incluyen los siguientes:The RESTORE examples include the following:

Nota

Para obtener más ejemplos, vea los temas sobre cómo restaurar que aparecen en Información general sobre restauración y recuperación.For additional examples, see the restore how-to topics that are listed in Restore and Recovery Overview.

A.A. Restaurar una base de datos completaRestoring a full database

En el siguiente ejemplo se restaura una copia de seguridad completa de la base de datos desde un dispositivo lógico de copia de seguridad de AdventureWorksBackups.The following example restores a full database backup from the AdventureWorksBackups logical backup device. Para obtener un ejemplo de creación de este dispositivo, vea Dispositivos de copia de seguridad.For an example of creating this device, see Backup Devices.

RESTORE DATABASE AdventureWorks2012
  FROM AdventureWorks2012Backups;

Nota

En el caso de una base de datos que utilice el modelo de recuperación completa o el modelo de recuperación optimizado para cargas masivas de registros, SQL ServerSQL Server requiere en la mayoría de los casos que realice una copia de seguridad de registros después del error antes de restaurar la base de datos.For a database using the full or bulk-logged recovery model, SQL ServerSQL Server requires in most cases that you back up the tail of the log before restoring the database. Para obtener más información, vea Copias del final del registro.For more information, see Tail-Log Backups.

[Inicio del ejemplo][Top of examples]

B.B. Restaurar copias de seguridad de bases de datos completas y diferencialesRestoring full and differential database backups

En el siguiente ejemplo se restaura una copia de seguridad completa de la base de datos seguida de una copia de seguridad diferencial desde un dispositivo de copia de seguridad de Z:\SQLServerBackups\AdventureWorks2012.bak, que contiene las dos copias de seguridad.The following example restores a full database backup followed by a differential backup from the Z:\SQLServerBackups\AdventureWorks2012.bak backup device, which contains both backups. La copia de seguridad de base de datos completa que se va a restaurar es el sexto conjunto de copia de seguridad del dispositivo (FILE = 6), y la copia de seguridad de base de datos diferencial es el noveno conjunto de copia de seguridad en el dispositivo (FILE = 9).The full database backup to be restored is the sixth backup set on the device (FILE = 6), and the differential database backup is the ninth backup set on the device (FILE = 9). En cuanto se recupere la copia de seguridad diferencial, se recuperará la base de datos.As soon as the differential backup is recovered, the database is recovered.

RESTORE DATABASE AdventureWorks2012
    FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'
    WITH FILE = 6
      NORECOVERY;
RESTORE DATABASE AdventureWorks2012
    FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'
    WITH FILE = 9
      RECOVERY;

[Inicio del ejemplo][Top of examples]

C.C. Restaurar una base de datos con la sintaxis de RESTARTRestoring a database using RESTART syntax

En el ejemplo siguiente se usa la opción RESTART para reiniciar una operación RESTORE interrumpida por un error de alimentación del servidor.The following example uses the RESTART option to restart a RESTORE operation interrupted by a server power failure.

-- This database RESTORE halted prematurely due to power failure.
RESTORE DATABASE AdventureWorks2012
    FROM AdventureWorksBackups;
-- Here is the RESTORE RESTART operation.
RESTORE DATABASE AdventureWorks2012
    FROM AdventureWorksBackups WITH RESTART;

[Inicio del ejemplo][Top of examples]

D.D. Restaurar una base de datos y mover archivosRestoring a database and move files

En el ejemplo siguiente se restaura una base de datos completa y el registro de transacciones, y se mueve la base de datos restaurada al directorio C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data.The following example restores a full database and transaction log and moves the restored database into the C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data directory.

RESTORE DATABASE AdventureWorks2012
    FROM AdventureWorksBackups
    WITH NORECOVERY,
      MOVE 'AdventureWorks2012_Data' TO
'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\NewAdvWorks.mdf',
      MOVE 'AdventureWorks2012_Log'
TO 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\NewAdvWorks.ldf';
RESTORE LOG AdventureWorks2012
    FROM AdventureWorksBackups
    WITH RECOVERY;

[Inicio del ejemplo][Top of examples]

E.E. Copiar una base de datos con BACKUP y RESTORECopying a database using BACKUP and RESTORE

En el ejemplo siguiente se usan las instrucciones BACKUP y RESTORE para realizar una copia de la base de datos AdventureWorks2012AdventureWorks2012.The following example uses both the BACKUP and RESTORE statements to make a copy of the AdventureWorks2012AdventureWorks2012 database. La instrucción MOVE hace que se restauren los datos y el archivo de registro en las ubicaciones especificadas.The MOVE statement causes the data and log file to be restored to the specified locations. La instrucción RESTORE FILELISTONLY se usa para determinar el número y los nombres de los archivos de la base de datos que se están restaurando.The RESTORE FILELISTONLY statement is used to determine the number and names of the files in the database being restored. La nueva copia de la base de datos se denomina TestDB.The new copy of the database is named TestDB. Para obtener más información, vea RESTORE FILELISTONLY.For more information, see RESTORE FILELISTONLY.

BACKUP DATABASE AdventureWorks2012
    TO AdventureWorksBackups ;

RESTORE FILELISTONLY
    FROM AdventureWorksBackups ;

RESTORE DATABASE TestDB
    FROM AdventureWorksBackups
    WITH MOVE 'AdventureWorks2012_Data' TO 'C:\MySQLServer\testdb.mdf',
    MOVE 'AdventureWorks2012_Log' TO 'C:\MySQLServer\testdb.ldf';
GO

[Inicio del ejemplo][Top of examples]

F.F. Restaurar a un momento dado con STOPATRestoring to a point-in-time using STOPAT

En el ejemplo siguiente se restaura una base de datos al estado en que se encontraba a las 12:00 AM del April 15, 2020 y se muestra una operación de restauración que implica varias copias de seguridad de registros.The following example restores a database to its state as of 12:00 AM on April 15, 2020 and shows a restore operation that involves multiple log backups. En el dispositivo de copia de seguridad, AdventureWorksBackups, la copia de seguridad de base de datos completa que se va a restaurar es el tercer conjunto de copia de seguridad en el dispositivo (FILE = 3), la primera copia de seguridad de registros es el cuarto conjunto de copia de seguridad (FILE = 4) y la segunda copia de seguridad de registros es el quinto conjunto de copia de seguridad (FILE = 5).On the backup device, AdventureWorksBackups, the full database backup to be restored is the third backup set on the device (FILE = 3), the first log backup is the fourth backup set (FILE = 4), and the second log backup is the fifth backup set (FILE = 5).

RESTORE DATABASE AdventureWorks2012
    FROM AdventureWorksBackups
    WITH FILE=3, NORECOVERY;

RESTORE LOG AdventureWorks2012
    FROM AdventureWorksBackups
    WITH FILE=4, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';

RESTORE LOG AdventureWorks2012
    FROM AdventureWorksBackups
    WITH FILE=5, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';
RESTORE DATABASE AdventureWorks2012 WITH RECOVERY;

[Inicio del ejemplo][Top of examples]

G.G. Restaurar el registro de transacciones hasta una marcaRestoring the transaction log to a mark

En el ejemplo siguiente se restaura el registro de transacciones hasta la marca de la transacción marcada denominada ListPriceUpdate.The following example restores the transaction log to the mark in the marked transaction named ListPriceUpdate.

USE AdventureWorks2012
GO
BEGIN TRANSACTION ListPriceUpdate
    WITH MARK 'UPDATE Product list prices';
GO

UPDATE Production.Product
    SET ListPrice = ListPrice * 1.10
    WHERE ProductNumber LIKE 'BK-%';
GO

COMMIT TRANSACTION ListPriceUpdate;
GO

-- Time passes. Regular database
-- and log backups are taken.
-- An error occurs in the database.
USE master;
GO

RESTORE DATABASE AdventureWorks2012
FROM AdventureWorksBackups
WITH FILE = 3, NORECOVERY;
GO

RESTORE LOG AdventureWorks2012
  FROM AdventureWorksBackups
    WITH FILE = 4,
    RECOVERY,
    STOPATMARK = 'UPDATE Product list prices';

[Inicio del ejemplo][Top of examples]

H.H. Restaurar con la sintaxis de TAPERestoring using TAPE syntax

En el siguiente ejemplo se restaura una copia de seguridad completa de la base de datos desde un dispositivo de copia de seguridad TAPE.The following example restores a full database backup from a TAPE backup device.

RESTORE DATABASE AdventureWorks2012
    FROM TAPE = '\\.\tape0';

[Inicio del ejemplo][Top of examples]

I.I. Restaurar con la sintaxis de FILE y FILEGROUPRestoring using FILE and FILEGROUP syntax

En el siguiente ejemplo se restaura una base de datos denominada MyDatabase que tiene dos archivos, un grupo de archivos secundario y un registro de transacciones.The following example restores a database named MyDatabase that has two files, one secondary filegroup, and one transaction log. La base de datos usa el modelo de recuperación completa.The database uses the full recovery model.

La copia de seguridad de la base de datos es el noveno conjunto de copia de seguridad del conjunto de medios en un dispositivo lógico de copia de seguridad denominado MyDatabaseBackups.The database backup is the ninth backup set in the media set on a logical backup device named MyDatabaseBackups. A continuación se restauran mediante 10 tres copias de seguridad de registros que están en los tres conjuntos de copia de seguridad siguientes (11, 12 y MyDatabaseBackups) en el dispositivo WITH NORECOVERY.Next, three log backups, which are in the next three backup sets (10, 11, and 12) on the MyDatabaseBackups device, are restored by using WITH NORECOVERY. Tras restaurar la última copia de seguridad de registros se restaura la base de datos.After restoring the last log backup, the database is recovered.

Nota

La recuperación se realiza como un paso independiente para reducir las posibilidades de recuperar antes de que se hayan restaurado todas las copias de seguridad de registros.Recovery is performed as a separate step to reduce the possibility of you recovering too early, before all of the log backups have been restored.

Tenga en cuenta que en RESTORE DATABASE hay dos tipos de opciones FILE.In the RESTORE DATABASE, notice that there are two types of FILE options. Las opciones FILE que preceden al nombre del dispositivo de copia de seguridad especifican los nombres de archivos lógicos de los archivos de base de datos que se van a restaurar desde el conjunto de copia de seguridad; por ejemplo, FILE = 'MyDatabase_data_1'.The FILE options preceding the backup device name specify the logical file names of the database files that are to be restored from the backup set; for example, FILE = 'MyDatabase_data_1'. Este conjunto de copia de seguridad no es la primera copia de seguridad de la base de datos en el conjunto de medios; por ello, su posición en el conjunto de medios se indica mediante la opción FILE de la cláusula WITH, FILE=9.This backup set is not the first database backup in the media set; therefore, its position in the media set is indicated by using the FILE option in the WITH clause, FILE=9.

RESTORE DATABASE MyDatabase
    FILE = 'MyDatabase_data_1',
    FILE = 'MyDatabase_data_2',
    FILEGROUP = 'new_customers'
    FROM MyDatabaseBackups
    WITH
      FILE = 9,
      NORECOVERY;
GO  
-- Restore the log backups
RESTORE LOG MyDatabase
    FROM MyDatabaseBackups
    WITH FILE = 10,
      NORECOVERY;
GO
RESTORE LOG MyDatabase
    FROM MyDatabaseBackups
    WITH FILE = 11,
      NORECOVERY;
GO
RESTORE LOG MyDatabase
    FROM MyDatabaseBackups
    WITH FILE = 12,
      NORECOVERY;
GO
--Recover the database
RESTORE DATABASE MyDatabase WITH RECOVERY;
GO

[Inicio del ejemplo][Top of examples]

J.J. Revertir desde una instantánea de base de datosReverting from a database snapshot

En este ejemplo se revierte una base de datos a una instantánea de base datos.The following example reverts a database to a database snapshot. En el ejemplo se supone que solo existe una instantánea en la base de datos.The example assumes that only one snapshot currently exists on the database. Para obtener un ejemplo de creación de esta instantánea de base de datos, vea Crear una instantánea de base de datos.For an example of how to create this database snapshot, see Create a Database Snapshot.

Nota

Si se revierte a una instantánea, se quitan todos los catálogos de texto completo.Reverting to a snapshot drops all the full-text catalogs.

USE master;
RESTORE DATABASE AdventureWorks2012 FROM DATABASE_SNAPSHOT = 'AdventureWorks_dbss1800';
GO

Para más información, vea Revertir una base de datos a una instantánea de base de datos.For more information, see Revert a Database to a Database Snapshot.

[Inicio del ejemplo][Top of examples]

K.K. Restaurar desde el servicio Microsoft Azure Blob StorageRestoring from the Microsoft Azure Blob storage service

En los tres ejemplos siguientes se usa el servicio Microsoft Azure Blob Storage.The three examples below involve the use of the Microsoft Azure storage service. El nombre de la cuenta de almacenamiento es mystorageaccount.The storage Account name is mystorageaccount. El contenedor de los archivos de datos se denomina myfirstcontainer.The container for data files is called myfirstcontainer. El contenedor de los archivos de copia de seguridad se denomina mysecondcontainer.The container for backup files is called mysecondcontainer. Se ha creado una directiva de acceso almacenada con derechos de lectura, escritura, eliminación y lista para cada contenedor.A stored access policy has been created with read, write, delete, and list, rights for each container. Se han creado credenciales de SQL Server con Firmas de acceso compartido asociadas a las directivas de acceso almacenadas.SQL Server credentials were created using Shared Access Signatures that are associated with the Stored Access Policies. Para más información específica sobre las operaciones de copia de seguridad y restauración de SQL Server con Microsoft Azure Blob Storage, vea Copia de seguridad y restauración de SQL Server con el servicio Microsoft Azure Blob Storage.For information specific to SQL Server backup and restore with the Microsoft Azure Blob storage, see SQL Server Backup and Restore with Microsoft Azure Blob Storage Service.

K1. Restaurar una copia de seguridad de base de datos completa desde el servicio Microsoft Azure Storage Una copia de seguridad de base de datos completa, ubicada en mysecondcontainer, de Sales, se restaurará en myfirstcontainer.K1. Restore a full database backup from the Microsoft Azure storage service A full database backup, located at mysecondcontainer, of Sales will be restored to myfirstcontainer. Sales no existe actualmente en el servidor.Sales does not currently exist on the server.

RESTORE DATABASE Sales
  FROM URL = 'https://mystorageaccount.blob.core.windows.net/mysecondcontainer/Sales.bak'
  WITH MOVE 'Sales_Data1' to 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_Data1.mdf',
  MOVE 'Sales_log' to 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_log.ldf',
  STATS = 10;

K2. Restaurar una copia de seguridad de base de datos completa desde el servicio Microsoft Azure Storage en el almacenamiento local Una copia de seguridad de base de datos completa, ubicada en mysecondcontainer, de Sales, se restaurará en el almacenamiento local.K2. Restore a full database backup from the Microsoft Azure storage service to local storage A full database backup, located at mysecondcontainer, of Sales will be restored to local storage. Sales no existe actualmente en el servidor.Sales does not currently exist on the server.

RESTORE DATABASE Sales
  FROM URL = 'https://mystorageaccount.blob.core.windows.net/mysecondcontainer/Sales.bak'
  WITH MOVE 'Sales_Data1' to 'H:\DATA\Sales_Data1.mdf',
  MOVE 'Sales_log' to 'O:\LOG\Sales_log.ldf',
  STATS = 10;

K3. Restaurar una copia de seguridad de base de datos completa desde el almacenamiento local al servicio Microsoft Azure StorageK3. Restore a full database backup from local storage to the Microsoft Azure storage service

RESTORE DATABASE Sales
  FROM DISK = 'E:\BAK\Sales.bak'
  WITH MOVE 'Sales_Data1' to 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_Data1.mdf',
  MOVE 'Sales_log' to 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_log.ldf',
  STATS = 10;

[Inicio del ejemplo][Top of examples]

Más informaciónMore information

SQL ServerSQL Server ** * Instancia administrada de
SQL Database *
**
* SQL Database
managed instance *
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

Instancia administrada de Azure SQL DatabaseAzure SQL Database managed instance

Este comando permite restaurar una base de datos completa a partir de una copia de seguridad completa de la base de datos (restauración completa) desde una cuenta de Azure Blob Storage.This command enables you to restore an entire database from a full database backup (a complete restore) from Azure Blob Storage account.

Para ver otros comandos RESTORE compatibles, vea:For other supported RESTORE commands, see:

Importante

Para restaurar desde copias de seguridad automáticas de una instancia administrada de Azure SQL Database, vea SQL Database Restore (Restaurar SQL Database).To restore from Azure SQL Database managed instance automatic backups, see SQL Database Restore.

SintaxisSyntax

--To Restore an Entire Database from a Full database backup (a Complete Restore):
RESTORE DATABASE { database_name | @database_name_var }
 FROM URL = { 'physical_device_name' | @physical_device_name_var } [ ,...n ]
[;]

ArgumentosArguments

DATABASEDATABASE

Especifica la base de datos de destino.Specifies the target database.

FROM URLFROM URL

Especifica uno o varios dispositivos de copia de seguridad colocados en las direcciones URL que se usarán para la operación de restauración.Specifies one or more backup devices placed on URLs that will be used for the restore operation. El formato de las direcciones URL solo se usa para restaurar copias de seguridad del servicio de almacenamiento Microsoft Azure.The URL format is used for restoring backups from the Microsoft Azure storage service.

Importante

Para restaurar desde varios dispositivos cuando se restaure desde una dirección URL, debe usar tokens de Firma de acceso compartido (SAS).In order to restore from multiple devices when restoring from URL, you must use Shared Access Signature (SAS) tokens. Para ver ejemplos sobre cómo crear una Firma de acceso compartido, vea Copia de seguridad en URL de SQL Server y Simplifying creation of SQL Credentials with Shared Access Signature (SAS) tokens on Azure Storage with Powershell (Simplificación de la creación de credenciales de SQL con tokens de firmas de acceso compartido [SAS] en Almacenamiento de Azure con PowerShell).For examples creating a Shared Access Signature, see SQL Server Backup to URL and Simplifying creation of SQL Credentials with Shared Access Signature (SAS) tokens on Azure Storage with Powershell.

n Es un marcador de posición que indica que se pueden especificar hasta 64 dispositivos de copia de seguridad en una lista separada por comas.n Is a placeholder that indicates that up to 64 backup devices may be specified in a comma-separated list.

Notas generalesGeneral Remarks

Como requisito previo, debe crear una credencial con un nombre que coincida con la dirección URL de la cuenta de almacenamiento de blobs y la Firma de acceso compartido como secreto.As a prerequisite, you need to create a credential with the name that matches the blob storage account url, and Shared Access Signature placed as secret. El comando RESTORE buscará las credenciales mediante la dirección URL del almacenamiento de blobs para encontrar la información necesaria para leer el dispositivo de copia de seguridad.RESTORE command will lookup credential using the blob storage url to find the information required to read the backup device.

La operación RESTORE es asincrónica; la restauración continúa incluso si se interrumpe la conexión del cliente.RESTORE operation is asynchronous - the restore continues even if client connection breaks. Si la conexión se interrumpe, puede comprobar la vista sys.dm_operation_status del estado de una operación de restauración (así como para las bases de datos CREATE y DROP).If your connection is dropped, you can check sys.dm_operation_status view for the status of a restore operation (as well as for CREATE and DROP database).

Las siguientes opciones de base de datos se establecen/invalidan y no se pueden cambiar más adelante:The following database options are set/overridden and cannot be changed later:

  • NEW_BROKER (si el agente no está habilitado en el archivo .bak)NEW_BROKER (if broker is not enabled in .bak file)
  • ENABLE_BROKER (si el agente no está habilitado en el archivo .bak)ENABLE_BROKER (if broker is not enabled in .bak file)
  • AUTO_CLOSE=OFF (si una base de datos del archivo .bak tiene AUTO_CLOSE=ON)AUTO_CLOSE=OFF (if a database in .bak file has AUTO_CLOSE=ON)
  • RECOVERY FULL (si una base de datos del archivo .bak tiene el modo de recuperación SIMPLE o BULK_LOGGED)RECOVERY FULL (if a database in .bak file has SIMPLE or BULK_LOGGED recovery mode)
  • Se agrega un grupo de archivos optimizado para memoria, al que se asigna el nombre XTP si no estaba en el archivo .bak de origen.Memory optimized filegroup is added and called XTP if it was not in the source .bak file. Se cambia el nombre de todos los grupos de archivos optimizados para memoria existentes a XTPAny existing memory optimized filegroup is renamed to XTP
  • Las opciones SINGLE_USER y RESTRICTED_USER se convierten en MULTI_USERSINGLE_USER and RESTRICTED_USER options are converted to MULTI_USER

Limitaciones: Instancia administrada de SQL DatabaseLimitations - SQL Database managed instance

Se aplican las siguientes limitaciones:These limitations apply:

  • Los archivos .BAK que contienen varios conjuntos de copia de seguridad no se pueden restaurar..BAK files containing multiple backup sets cannot be restored.
  • Los archivos .BAK que contienen varios archivos de registro no se pueden restaurar..BAK files containing multiple log files cannot be restored.
  • Se producirá un error en la restauración si el archivo .bak contiene datos FILESTREAM.Restore will fail if .bak contains FILESTREAM data.
  • Las copias de seguridad que contienen bases de datos que tienen objetos en memoria activos no se pueden restaurar en una instancia administrada de uso general.Backups containing databases that have active In-memory objects cannot be restored to a General Purpose managed instance.
  • Las copias de seguridad que contienen bases de datos en modo de solo lectura no se pueden restaurar en estos momentos.Backups containing databases in read-only mode cannot currently be restored. Esta limitación se quitará próximamente.This limitation will be removed soon.

Para obtener más información, consulte Instancia administrada.For more information, see managed instance

Restaurar una base de datos cifradaRestoring an Encrypted Database

Para restaurar una base de datos cifrada, debe tener acceso al certificado o la clave asimétrica que se usó para cifrarla.To restore a database that is encrypted, you must have access to the certificate or asymmetric key that was used to encrypt the database. La base de datos no se puede restaurar sin el certificado o la clave asimétrica.Without the certificate or asymmetric key, the database cannot be restored. Como resultado, se debe conservar el certificado que se usa para cifrar la clave de cifrado de base de datos mientras se necesite la copia de seguridad.As a result, the certificate that is used to encrypt the database encryption key must be retained as long as the backup is needed. Para obtener más información, consulte SQL Server Certificates and Asymmetric Keys.For more information, see SQL Server Certificates and Asymmetric Keys.

PermisosPermissions

El usuario debe tener permisos CREATE DATABASE para poder ejecutar RESTORE.The user must have CREATE DATABASE permissions to be able to execute RESTORE.

CREATE LOGIN mylogin WITH PASSWORD = 'Very Strong Pwd123!';
GRANT CREATE ANY DATABASE TO [mylogin];

Los permisos RESTORE se conceden a los roles en los que la información acerca de la pertenencia está siempre disponible para el servidor.RESTORE permissions are given to roles in which membership information is always readily available to the server. Debido a que la pertenencia a un rol fijo de base de datos solo se puede comprobar cuando la base de datos es accesible y no está dañada, lo que no siempre ocurre cuando se ejecuta RESTORE, los miembros del rol fijo de base de datos db_owner no tienen permisos RESTORE.Because fixed database role membership can be checked only when the database is accessible and undamaged, which is not always the case when RESTORE is executed, members of the db_owner fixed database role do not have RESTORE permissions.

EjemplosExamples

En los ejemplos siguientes se restaura una copia de seguridad de base de datos de solo copia desde una dirección URL, incluida la creación de una credencial.The following examples restore a copy only database backup from URL, including the creation of a credential.

A.A. Restauración de una base de datos a partir de cuatro dispositivos de copia de seguridadRestore database from four backup devices


-- Create credential
CREATE CREDENTIAL [https://mybackups.blob.core.windows.net/wide-world-importers]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
      SECRET = 'sv=2017-11-09&ss=bq&srt=sco&sp=rl&se=2022-06-19T22:41:07Z&st=2018-06-01T14:41:07Z&spr=https&sig=s7wddcf0w%3D';
GO
-- Restore database
RESTORE DATABASE WideWorldImportersStandard
FROM URL = N'https://mybackups.blob.core.windows.net/wide-world-importers/00-WideWorldImporters-Standard.bak',
URL = N'https://mybackups.blob.core.windows.net/wide-world-importers/01-WideWorldImporters-Standard.bak',
URL = N'https://mybackups.blob.core.windows.net/wide-world-importers/02-WideWorldImporters-Standard.bak',
URL = N'https://mybackups.blob.core.windows.net/wide-world-importers/03-WideWorldImporters-Standard.bak'

Si la base de datos ya existe, se muestra el error siguiente:The following error is shown if the database already exists:

Msg 1801, Level 16, State 1, Line 9
Database 'WideWorldImportersStandard' already exists. Choose a different database name.

B.B. Restauración de la base de datos especificada mediante una variableRestore database specified via variable

DECLARE @db_name sysname = 'WideWorldImportersStandard';
DECLARE @url nvarchar(400) = N'https://mybackups.blob.core.windows.net/wide-world-importers/WideWorldImporters-Standard.bak';

RESTORE DATABASE @db_name
FROM URL = @url

C.C. Seguimiento del progreso de la instrucción de restauraciónTrack progress of restore statement

SELECT query = a.text, start_time, percent_complete,
    eta = dateadd(second,estimated_completion_time/1000, getdate())
FROM sys.dm_exec_requests r
    CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) a
WHERE r.command = 'RESTORE DATABASE'

Nota

Esta vista probablemente mostrará dos solicitudes de restauración.This view will probably show two restore requests. Una es la instrucción RESTORE original enviada por el cliente y la otra es la instrucción RESTORE en segundo plano que se ejecuta incluso si se produce un error en la conexión de cliente.One is original RESTORE statement sent by the client, and the another one is background RESTORE statement that is executing even if the client connection fails.

SQL ServerSQL Server Instancia administrada de
SQL Database
SQL Database
managed instance
** * Analytics
Platform System (PDW) *
**
* Analytics
Platform System (PDW) *

 

Sistema de la plataforma de análisisAnalytics Platform System

Restaura una base de datos de usuario de Almacenamiento de datos paralelosParallel Data Warehouse desde una copia de seguridad de base de datos a un dispositivo de Almacenamiento de datos paralelosParallel Data Warehouse.Restores a Almacenamiento de datos paralelosParallel Data Warehouse user database from a database backup to a Almacenamiento de datos paralelosParallel Data Warehouse appliance. La base de datos se restaura desde una copia de seguridad que se creó anteriormente con el comando Almacenamiento de datos paralelosParallel Data Warehouse BACKUP DATABASE - Analytics Platform System.The database is restored from a backup that was previously created by the Almacenamiento de datos paralelosParallel Data Warehouse BACKUP DATABASE - Analytics Platform System command. Use las operaciones de copia de seguridad y de restauración para crear un plan de recuperación ante desastres o para mover bases de datos de un dispositivo a otro.Use the backup and restore operations to build a disaster recovery plan, or to move databases from one appliance to another.

Nota

Restaurar la base de datos maestra conlleva restaurar la información de inicio de sesión del dispositivo.Restoring master includes restoring appliance login information. Para restaurar la base de datos maestra, use la página Restaurar la base de datos maestra de la herramienta Configuration Manager.To restore master, use the Restore the master Database page in the Configuration Manager tool. Un administrador con acceso al nodo de control puede realizar esta operación.An administrator with access to the Control node can perform this operation. Para más información sobre las copias de seguridad de bases de datos de Almacenamiento de datos paralelosParallel Data Warehouse, vea "Copia de seguridad y restauración" en la Documentación del producto de Almacenamiento de datos paralelosParallel Data Warehouse product documentation.For more information about Almacenamiento de datos paralelosParallel Data Warehouse database backups, see "Backup and Restore" in the Documentación del producto de Almacenamiento de datos paralelosParallel Data Warehouse product documentation.

SintaxisSyntax


-- Restore the master database
-- Use the Configuration Manager tool.

Restore a full user database backup.
RESTORE DATABASE database_name
    FROM DISK = '\\UNC_path\full_backup_directory'
[;]

--Restore a full user database backup and then a differential backup.
RESTORE DATABASE database_name
    FROM DISK = '\\UNC_path\differential_backup_directory'
    WITH [ ( ] BASE = '\\UNC_path\full_backup_directory' [ ) ]
[;]

--Restore header information for a full or differential user database backup.
RESTORE HEADERONLY
    FROM DISK = '\\UNC_path\backup_directory'
[;]

ArgumentosArguments

RESTORE DATABASE database_name Especifica que una base de datos de usuario se debe restaurar a una base de datos denominada database_name.RESTORE DATABASE database_name Specifies to restore a user database to a database called database_name. La base de datos restaurada puede tener un nombre diferente de la base de datos de origen de la que se ha hecho la copia de seguridad.The restored database can have a different name than the source database that was backed up. database_name no puede existir como una base de datos en el dispositivo de destino.database_name cannot already exist as a database on the destination appliance. Para más información sobre los nombres de base de datos permitidos, vea "Normas de nomenclatura de objetos" en la Documentación del producto de Almacenamiento de datos paralelosParallel Data Warehouse product documentation.For more details on permitted database names, see "Object Naming Rules" in the Documentación del producto de Almacenamiento de datos paralelosParallel Data Warehouse product documentation.

Cuando se restaura una base de datos de usuario, se restaura una copia de seguridad completa de la base de datos y, después, se restaura (opcionalmente) una copia de seguridad diferencial en el dispositivo.Restoring a user database restores a full database backup and then optionally restores a differential backup to the appliance. La restauración de una base de datos de usuario conlleva restaurar los usuarios de base de datos y los roles de base de datos.A restore of a user database includes restoring database users, and database roles.

FROM DISK = '\\UNC_path\backup_directory' Ruta de acceso de red y directorio desde los que Almacenamiento de datos paralelosParallel Data Warehouse restaurará los archivos de copia de seguridad.FROM DISK = '\\UNC_path\backup_directory' The network path and directory from which Almacenamiento de datos paralelosParallel Data Warehouse will restore the backup files. Por ejemplo, FROM DISK = '\\xxx.xxx.xxx.xxx\backups\2012\Monthly\08.2012.Mybackup'.For example, FROM DISK = '\\xxx.xxx.xxx.xxx\backups\2012\Monthly\08.2012.Mybackup'.

backup_directory Especifica el nombre de un directorio que contiene la copia de seguridad completa o diferencial.backup_directory Specifies the name of a directory that contains the full or differential backup. Por ejemplo, puede realizar una operación RESTORE HEADERONLY en una copia de seguridad completa o diferencial.For example, you can perform a RESTORE HEADERONLY operation on a full or differential backup.

full_backup_directory Especifica el nombre de un directorio que contiene la copia de seguridad completa.full_backup_directory Specifies the name of a directory that contains the full backup.

differential_backup_directory Especifica el nombre de un directorio que contiene la copia de seguridad diferencial.differential_backup_directory Specifies the name of the directory that contains the differential backup.

  • La ruta de acceso y el directorio de copia de seguridad ya deben existir y se debe especificar como una ruta de acceso de convención de nomenclatura universal (UNC) completa.The path and backup directory must already exist and must be specified as a fully qualified universal naming convention (UNC) path.
  • La ruta de acceso al directorio de copia de seguridad no puede ser una ruta de acceso local y no puede ser una ubicación en ninguno de los nodos del dispositivo de Almacenamiento de datos paralelosParallel Data Warehouse.The path to the backup directory cannot be a local path and it cannot be a location on any of the Almacenamiento de datos paralelosParallel Data Warehouse appliance nodes.
  • La longitud máxima de la ruta de acceso UNC y el nombre del directorio de copia de seguridad es de 200 caracteres.The maximum length of the UNC path and backup directory name is 200 characters.
  • El servidor o host se debe especificar como una dirección IP.The server or host must be specified as an IP address.

RESTORE HEADERONLY Especifica que se devuelve únicamente la información de encabezado de una copia de seguridad de base de datos de usuario.RESTORE HEADERONLY Specifies to return only the header information for one user database backup. Entre otros campos, el encabezado incluye el nombre y la descripción de texto de la copia de seguridad.Among other fields, the header includes the text description of the backup, and the backup name. El nombre de copia de seguridad no tiene que ser el mismo que el nombre del directorio donde se almacenan los archivos de copia de seguridad.The backup name does not need to be the same as the name of the directory that stores the backup files.

El formato de los resultados de RESTORE HEADERONLY se toma de los resultados de RESTORE HEADERONLY de SQL ServerSQL Server.RESTORE HEADERONLY results are patterned after the SQL ServerSQL Server RESTORE HEADERONLY results. El resultado tiene más de 50 columnas, que Almacenamiento de datos paralelosParallel Data Warehouse no usa en su totalidad.The result has over 50 columns, which are not all used by Almacenamiento de datos paralelosParallel Data Warehouse. Para obtener una descripción de las columnas de los resultados de RESTORE HEADERONLY de SQL ServerSQL Server, vea RESTORE HEADERONLY.For a description of the columns in the SQL ServerSQL Server RESTORE HEADERONLY results, see RESTORE HEADERONLY.

PermisosPermissions

Requiere el permiso CREATE ANY DATABASE.Requires the CREATE ANY DATABASE permission.

Requiere una cuenta de Windows que tenga permiso de acceso y lectura en el directorio de copia de seguridad.Requires a Windows account that has permission to access and read from the backup directory. También se debe almacenar el nombre de la cuenta de Windows y la contraseña en Almacenamiento de datos paralelosParallel Data Warehouse.You must also store the Windows account name and password in Almacenamiento de datos paralelosParallel Data Warehouse.

Tratamiento de erroresError Handling

El comando RESTORE DATABASE genera errores en las siguientes circunstancias:The RESTORE DATABASE command results in errors under the following conditions:

  • El nombre de la base de datos que se va a restaurar ya existe en el dispositivo de destino.The name of the database to restore already exists on the target appliance. Para evitarlo, elija un nombre de base de datos único o quite la base de datos existente antes de proceder a realizar la restauración.To avoid this, choose a unique database name, or drop the existing database before running the restore.
  • Hay un conjunto de archivos de copia de seguridad no válido en el directorio de copia de seguridad.There is an invalid set of backup files in the backup directory.
  • Los permisos de inicio de sesión no son suficientes para restaurar la base de datos.The login permissions are not sufficient to restore a database.
  • Almacenamiento de datos paralelosParallel Data Warehouse no tiene los permisos correctos en la ubicación de red donde van a estar los archivos de copia de seguridad.does not have the correct permissions to the network location where the backup files are located.
  • La ubicación de red del directorio de copia de seguridad no existe o no está disponible.The network location for the backup directory does not exist, or is not available.
  • No hay suficiente espacio en disco en los nodos de ejecución o de control.There is insufficient disk space on the Compute nodes or Control node. Almacenamiento de datos paralelosParallel Data Warehouse no confirma que hay suficiente espacio en disco en el dispositivo antes de iniciar la restauración.does not confirm that sufficient disk space exists on the appliance before initiating the restore. Por lo tanto, es posible que surja un error de espacio en disco agotado mientras se ejecuta la instrucción RESTORE DATABASE.Therefore, it is possible to generate an out-of-disk-space error while running the RESTORE DATABASE statement. Cuando se produce un error de espacio en disco insuficiente, Almacenamiento de datos paralelosParallel Data Warehouse revierte la restauración.When insufficient disk space occurs, Almacenamiento de datos paralelosParallel Data Warehouse rolls back the restore.
  • El dispositivo de destino en el que se está restaurando la base de datos tiene menos nodos de ejecución que el dispositivo de origen desde el que se hizo la copia de seguridad de la base de datos.The target appliance to which the database is being restored has fewer Compute nodes than the source appliance from which the database was backed up.
  • La restauración de base de datos se intenta realizar desde dentro de una transacción.The database restore is attempted from within a transaction.

Notas generalesGeneral Remarks

Almacenamiento de datos paralelosParallel Data Warehouse realiza un seguimiento para saber qué restauraciones de base de datos se realizan correctamente.tracks the success of database restores. Antes de restaurar una copia de seguridad diferencial de la base de datos, Almacenamiento de datos paralelosParallel Data Warehouse comprueba si la restauración de base de datos completa finalizó correctamente.Before restoring a differential database backup, Almacenamiento de datos paralelosParallel Data Warehouse verifies the full database restore finished successfully.

Después de una restauración, la base de datos de usuario tendrá nivel 120 de compatibilidad de base de datos.After a restore, the user database will have database compatibility level 120. Esto sucede con todas las bases de datos, independientemente de su nivel de compatibilidad original.This is true for all databases regardless of their original compatibility level.

Restaurar a un dispositivo con más nodos de ejecuciónRestoring to an Appliance With a Larger Number of Compute Nodes

Ejecute DBCC SHRINKLOG (Azure SQL Data Warehouse) después de restaurar una base de datos desde un dispositivo más pequeño a uno más grande, ya que la redistribución aumentará el registro de transacciones.Run DBCC SHRINKLOG (Azure SQL Data Warehouse) after restoring a database from a smaller to larger appliance since redistribution will increase transaction log.

Restaurar una copia de seguridad en un dispositivo con un gran número de nodos de ejecución aumenta el tamaño de base de datos asignado en proporción al número de nodos de ejecución.Restoring a backup to an appliance with a larger number of Compute nodes grows the allocated database size in proportion to the number of Compute nodes.

Por ejemplo, al restaurar una base de datos de 60 GB desde un dispositivo con 2 nodos (30 GB por nodo) a un equipo con 6 nodos, Almacenamiento de datos paralelosParallel Data Warehouse crea una base de datos de 180 GB (6 nodos con 30 GB cada uno) en el dispositivo de 6 nodos.For example, when restoring a 60 GB database from a 2-node appliance (30 GB per node) to a 6-node appliance, Almacenamiento de datos paralelosParallel Data Warehouse creates a 180 GB database (6 nodes with 30 GB per node) on the 6-node appliance. En principio, Almacenamiento de datos paralelosParallel Data Warehouse restaura la base de datos a 2 nodos para que coincida con la configuración de origen y, seguidamente, redistribuye los datos a los 6 nodos.Almacenamiento de datos paralelosParallel Data Warehouse initially restores the database to 2 nodes to match the source configuration, and then redistributes the data to all 6 nodes.

Después de la redistribución, cada nodo de ejecución contendrá menos datos reales y más espacio libre que cada nodo de ejecución en el dispositivo de origen (más pequeño).After the redistribution each Compute node will contain less actual data and more free space than each Compute node on the smaller source appliance. Use el espacio extra para agregar más datos a la base de datos.Use the additional space to add more data to the database. Si el tamaño de la base de datos restaurada es superior al necesario, puede usar ALTER DATABASE - PDW para reducir el tamaño de los archivos de la base de datos.If the restored database size is larger than you need, you can use ALTER DATABASE - PDW to shrink the database file sizes.

Limitaciones y restriccionesLimitations and Restrictions

En estas limitaciones y restricciones, el dispositivo de origen es el dispositivo desde el que se creó la copia de seguridad de la base de datos y el dispositivo de destino, el dispositivo en el que se va a restaurar esa base de datos.For these limitations and restrictions, the source appliance is the appliance from which the database backup was created, and the target appliance is the appliance to which the database will be restored.

  • Restaurar una base de datos no vuelve a generar automáticamente las estadísticas.Restoring a database does not automatically rebuild statistics.
  • En el dispositivo solo se puede ejecutar una instrucción RESTORE DATABASE o BACKUP DATABASE en un momento dado.Only one RESTORE DATABASE or BACKUP DATABASE statement can be running on the appliance at any given time. Si se envían varias instrucciones BACKUP y RESTORE al mismo tiempo, el dispositivo las pone en cola y las procesa una a una.If multiple backup and restore statements are submitted concurrently, the appliance will put them into a queue and process them one at a time.
  • Solo se puede restaurar una copia de seguridad de base de datos en un dispositivo de destino de Almacenamiento de datos paralelosParallel Data Warehouse que tenga el mismo número o más nodos de ejecución que el dispositivo de origen.You can only restore a database backup to a Almacenamiento de datos paralelosParallel Data Warehouse target appliance that has the same number or more Compute nodes than the source appliance. El dispositivo de destino no puede tener menos nodos de ejecución que el de origen.The target appliance cannot have fewer Compute nodes than the source appliance.
  • Una copia de seguridad creada en un dispositivo con hardware de PDW de SQL Server 2012 no se puede restaurar en un dispositivo que tenga hardware de SQL Server 2008 R2.You cannot restore a backup that was created on an appliance that has SQL Server 2012 PDW hardware to an appliance that has SQL Server 2008 R2 hardware. Esto es así incluso si el dispositivo se adquirió originalmente con el hardware de PDW de SQL Server 2008 R2 y ahora ejecuta el hardware de PDW de SQL Server 2012.This holds true even if the appliance was originally purchased with the SQL Server 2008 R2 PDW hardware and is now running SQL Server 2012 PDW software.

BloqueoLocking

Toma un bloqueo exclusivo en el objeto DATABASE.Takes an exclusive lock on the DATABASE object.

EjemplosExamples

A.A. Ejemplos sencillos de RESTORESimple RESTORE examples

En el siguiente ejemplo se restaura una copia de seguridad completa en la base de datos SalesInvoices2013.The following example restores a full backup to the SalesInvoices2013 database. Los archivos de copia de seguridad se almacenan en el directorio \\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full.The backup files are stored in the \\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full directory. La base de datos SalesInvoices2013 no debe existir ya en el dispositivo de destino o, de lo contrario, este comando producirá un error.The SalesInvoices2013 database cannot already exist on the target appliance or this command will fail with an error.

RESTORE DATABASE SalesInvoices2013
FROM DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full';

B.B. Restaurar una copia de seguridad completa y diferencialRestore a full and differential backup

En el siguiente ejemplo se restaura una copia de seguridad completa y, luego, una diferencial en la base de datos SalesInvoices2013.The following example restores a full, and then a differential backup to the SalesInvoices2013 database

La copia de seguridad completa de la base de datos se restaura a partir de la copia de seguridad que se almacena en el directorio "\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full".The full backup of the database is restored from the full backup which is stored in the '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full' directory. Si la restauración se completa correctamente, la copia de seguridad diferencial se restaura la base de datos SalesInvoices2013. La copia de seguridad diferencial se almacena en el directorio "\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff".If the restore completes successfully, the differential backup is restored to the SalesInvoices2013 database.The differential backup is stored in the '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff' directory.

RESTORE DATABASE SalesInvoices2013
    FROM DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff'
    WITH BASE = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full'
[;]

C.C. Restaurar el encabezado de copia de seguridadRestoring the backup header

En este ejemplo se restaura la información de encabezado de la copia de seguridad de base de datos "\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full".This example restores the header information for database backup '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full' . El comando da como resultado una fila de información relativa a la copia de seguridad de Invoices2013Full.The command results in one row of information for the Invoices2013Full backup.

RESTORE HEADERONLY
    FROM DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full'
[;]

Esta información de encabezado puede servir para comprobar el contenido de una copia de seguridad o para asegurarse de que el dispositivo de restauración de destino es compatible con el dispositivo de copia de seguridad de origen antes de intentar restaurar la copia de seguridad.You can use the header information to check the contents of a backup, or to make sure the target restoration appliance is compatible with the source backup appliance before attempting to restore the backup.

Consulte tambiénSee Also