RESTORE (argumentos, Transact-SQL)

Actualizado: 12 de diciembre de 2006

En este tema se documentan los argumentos descritos en la sección Sintaxis de la instrucción RESTORE {DATABASE|LOG} y del conjunto de instrucciones auxiliares asociado: RESTORE FILELISTONLY, RESTORE HEADERONLY, RESTORE LABELONLY, RESTORE REWINDONLY y RESTORE VERIFYONLY. Sólo un subconjunto de estas seis instrucciones admite la mayoría de los argumentos. En la descripción del argumento se indica si éste está admitido.

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL

DATABASE
ms178615.note(es-es,SQL.90).gifNota:
Se admite en RESTORE.

Especifica la base de datos de destino. Si se especifica una lista de archivos o de grupos de archivos, sólo se restauran esos archivos y grupos de archivos.

En el caso de una base de datos que utilice el modelo de recuperación completa o por medio de registros de operaciones masivas, Microsoft SQL Server 2005 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. La restauración de una base de datos sin crear una copia de seguridad de registros después del error genera un error a menos que la instrucción RESTORE contenga la cláusula WITH REPLACE o WITH STOPAT. Para obtener más información sobre las copias de seguridad de registros después del error, vea Copias de seguridad de registros después del error.

LOG
ms178615.note(es-es,SQL.90).gifNota:
Se admite en RESTORE.

Especifica que se va a aplicar una copia de seguridad de registros de transacciones a esta base de datos. Los registros de transacciones deben aplicarse en orden secuencial. SQL Server comprueba el registro de transacciones del que se ha realizado la copia de seguridad para asegurarse de que las transacciones se cargan en la base de datos y en la secuencia correctas. Para aplicar varios registros de transacciones, utilice la opción NORECOVERY en todas las operaciones de restauración, excepto en la última.

ms178615.note(es-es,SQL.90).gifNota:
Normalmente, el último registro que se restaura es el que corresponde a la copia de seguridad de registros después del error. Una copia de seguridad de registros después del error es una copia de seguridad de registros que se realiza justo antes de restaurar una base de datos, normalmente después de que se haya producido un error en ella. Al realizar una copia de seguridad de registros después del error de una base de datos posiblemente dañada se evita la pérdida de trabajo, ya que se captura el registro que todavía no se había incluido en la copia de seguridad (el final del registro). Para obtener más información, vea Copias de seguridad de registros después del error.

Para obtener más información, vea Trabajar con copias de seguridad del registro de transacciones.

{ database_name | @database_name_var}
ms178615.note(es-es,SQL.90).gifNota:
Se admite en RESTORE.

Es la base de datos en la que se restaura el registro o la base de datos completa. Si se proporciona como una variable (@database_name_var), este nombre se puede especificar como una constante de cadena (@database_name_var = database_name) o como una variable de un tipo de datos de cadena de caracteres, excepto los tipos de datos ntext o text.

<file_or_filegroup_or_page> [ ,...n ]
ms178615.note(es-es,SQL.90).gifNota:
Se admite en RESTORE.

Especifica el nombre de un archivo, un grupo de archivos o una página lógicos que se va a incluir en una instrucción RESTORE DATABASE o RESTORE LOG. Puede especificar una lista de archivos o grupos de archivos.

En una base de datos que utiliza el modelo de recuperación simple, las opciones FILE y FILEGROUP sólo se admiten si los archivos o grupos de archivos de destino son de sólo lectura, o bien si se trata de una restauración de tipo PARTIAL (el resultado es un grupo de archivos inactivo).

Para una base de datos que utilice el modelo de recuperación completa o el modelo de recuperación por medio de registros de operaciones masivas, después de utilizar RESTORE DATABASE para restaurar uno o más archivos, grupos de archivos o páginas, normalmente se debe aplicar el registro de transacciones a los archivos que contienen los datos restaurados; al aplicarles el registro, esos archivos guardarán coherencia con el resto de la base de datos. Existen las siguientes excepciones:

  • Si los archivos que se restauran eran de sólo lectura antes de su última copia de seguridad, no debe aplicarse un registro de transacciones, y la instrucción RESTORE le informará de esta situación.
  • Si la copia de seguridad contiene el grupo de archivos principal y se va a realizar una restauración parcial. En este caso, el registro de restauración no es necesario, porque se restaura automáticamente desde el conjunto de copia de seguridad.
FILE = { logical_file_name_in_backup| @logical_file_name_in_backup_var}

Especifica el nombre de un archivo que se va a incluir en la restauración de la base de datos.

FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }

Especifica el nombre de un grupo de archivos que se va a incluir en la restauración de la base de datos.

Nota   FILEGROUP sólo se admite en el modelo de recuperación simple si el grupo de archivos especificado es de sólo lectura y se trata de una restauración parcial, es decir, si se utiliza WITH PARTIAL. Los grupos de archivos de lectura y escritura sin restaurar se marcan como inactivos y, en consecuencia, no se podrán restaurar en la base de datos resultante.

READ_WRITE_FILEGROUPS

Selecciona todos los grupos de archivos de lectura y escritura. Esta opción es especialmente útil cuando se desean restaurar grupos de archivos de sólo lectura después de los grupos de archivos de lectura y escritura anteriores a los grupos de archivos de sólo lectura.

PAGE = 'file:page [ ,...n ]'

Especifica una lista de una o varias páginas para una restauración de página (que sólo se admite en bases de datos que utilizan los modelos de recuperación completa o por medio de registros de operaciones masivas). Éstos son sus valores:

PAGE

Indica una lista de uno o varios archivos y páginas.

file

Es el Id. del archivo que contiene la página específica que se va a restaurar.

page

Es el Id. de la página que se va a restaurar en el archivo.

n

Es un marcador de posición que indica que se pueden especificar varias páginas.

El número máximo de páginas que se pueden restaurar en un solo archivo en una secuencia de restauración es 1000. No obstante, si un archivo tiene un número considerable de páginas dañadas, piense en restaurar el archivo completo en lugar de las páginas.

Para obtener más información acerca de la restauración de páginas, vea Realizar restauraciones de páginas.

[ ,...n ]

Es un marcador de posición que indica que se pueden especificar varios archivos y grupos de archivos y páginas en una lista separada por comas. El número es ilimitado.

FROM { <backup_device> [ ,...n ] | <database_snapshot> }

Normalmente, especifica los dispositivos de copia de seguridad desde los que se restaurará la copia de seguridad. Alternativamente, en una instrucción RESTORE DATABASE, la cláusula FROM puede especificar el nombre de una instantánea de base de datos a la que va a revertir la base de datos, en cuyo caso no se admite ninguna cláusula WITH.

Si se omite la cláusula FROM, no se produce la restauración de la copia de seguridad. En su lugar, se recupera la base de datos. Esto permite recuperar una base de datos restaurada con la opción NORECOVERY o cambiar a un servidor en espera. Si se omite la cláusula FROM, se debe especificar NORECOVERY, RECOVERY o STANDBY en la cláusula WITH.

<backup_device> [ ,...n ]

Especifica los dispositivos de copia de seguridad físicos o lógicos que se utilizarán para la operación de restauración.

<backup_device>::=

Especifica el dispositivo de copia de seguridad físico o lógico que se va a utilizar para la operación de copia de seguridad de la forma siguiente.

{ logical_backup_device_name | @logical_backup_device_name_var }

Es el nombre lógico, que debe seguir las reglas de los identificadores, de los dispositivos de copia de seguridad creados por sp_addumpdevice desde los que se restaura la base de datos. Si se proporciona como una variable (@logical_backup_device_name_var), se puede especificar el nombre del dispositivo de copia de seguridad como una constante de cadena (@logical_backup_device_name_var = logical_backup_device_name) o como una variable de un tipo de datos de cadena de caracteres, excepto los tipos de datos ntext o text.

{DISK | TAPE } = { 'physical_backup_device_name' | @physical_backup_device_name_var }

Permite restaurar las copias de seguridad guardadas en el dispositivo de disco o cinta con nombre. Los tipos de dispositivo de disco y cinta deben especificarse con el nombre real (por ejemplo, nombre de archivo y ruta de acceso completa) del dispositivo: DISK = 'C:\Archivos de programa\Microsoft SQL Server\MSSQL\BACKUP\Mybackup.bak' o TAPE = '\\.\TAPE0'. Si se especifica como una variable (@physical_backup_device_name_var), se puede especificar el nombre del dispositivo de copia de seguridad como una constante de cadena (@physical_backup_device_name_var = 'physcial_backup_device_name') o como una variable de un tipo de datos de cadena de caracteres, excepto los tipos de datos ntext o text.

Si utiliza un servidor de red con un nombre UNC (que debe contener el nombre del equipo), especifique un tipo de dispositivo de disco. Para obtener más información acerca de cómo utilizar nombres UNC, vea Dispositivos de copia de seguridad.

La cuenta con la que está ejecutando SQL Server debe tener acceso de lectura al equipo remoto o servidor de red para poder realizar la operación RESTORE.

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.

El hecho de que una secuencia de restauración requiera tantos dispositivos de copia de seguridad como los utilizados para crear el conjunto de medios al que pertenecen las copias de seguridad depende de si la restauración se realiza con o sin conexión de la forma siguiente.

  • La restauración sin conexión permite restaurar una copia de seguridad con menos dispositivos que los utilizados para crear la copia de seguridad.
  • La restauración con conexión necesita todos los dispositivos de copia de seguridad para la copia de seguridad. Si se intenta la restauración con menos dispositivos, se obtiene un error.

Por ejemplo, suponga que se realiza la copia de seguridad de una base de datos en cuatro unidades de cinta conectadas al servidor. Una restauración con conexión requiere que las cuatro unidades estén conectadas al servidor, mientras que una restauración sin conexión permite restaurar la copia de seguridad si hay menos de cuatro unidades en el equipo.

Para obtener más información, vea Trabajar con medios de copia de seguridad en SQL Server.

ms178615.note(es-es,SQL.90).gifNota:
Si se restaura una copia de seguridad desde un conjunto de medios reflejado, sólo puede especificar un reflejo para cada familia de medios. No obstante, si hay errores, el hecho de tener otros reflejos permite resolver algunos problemas de restauración rápidamente. Puede sustituir un volumen de medios dañado con el volumen correspondiente de otro reflejo. Tenga en cuenta que para las restauraciones sin conexión, puede restaurar desde menos dispositivos que familias de medios, pero cada familia se procesa sólo una vez.

<database_snapshot>::=
ms178615.note(es-es,SQL.90).gifNota:
Se admite en RESTORE {DATABASE}.

DATABASE_SNAPSHOT = database_snapshot_name

Revierte la base de datos a la instantánea de base de datos especificada por database_snapshot_name. La opción DATABASE_SNAPSHOT sólo está disponible para una restauración de base de datos completa. En una operación de reversión, la instantánea de base de datos ocupa el lugar de una copia de seguridad de base de datos completa.

En una operación de reversión se requiere que la instantánea de base de datos especificada sea la única en la base de datos. Durante la operación de reversión, la instantánea de base de datos y la base de datos de destino se marcan como In restore. Para obtener más información, vea la sección Notas en RESTORE {DATABASE}.

WITH <with_options> ::=

Especifica las opciones que han de utilizarse en una operación de restauración. Para obtener un resumen de las instrucciones que utilizan cada opción, vea "Resumen de compatibilidad para las opciones de WITH", más adelante en este tema.

PARTIAL
ms178615.note(es-es,SQL.90).gifNota:
Sólo se admite en RESTORE {DATABASE}.

Especifica una operación de restauración parcial que sólo restaura el grupo de archivos principal y cualquiera de los grupos de archivos secundarios especificados. La opción PARTIAL selecciona implícitamente el grupo de archivos principal; por tanto, no es necesario especificar FILEGROUP = 'PRIMARY'. Para restaurar un grupo de archivos secundario, debe especificarlo de forma explícita mediante la opción FILE o FILEGROUP.

La opción PARTIAL no se permite en las instrucciones RESTORE LOG.

A partir de SQL Server 2005, la opción PARTIAL abre la fase inicial de una restauración por etapas, que permite restaurar los grupos de archivos restantes más adelante. Para obtener más información, vea Realizar restauraciones por etapas.

ms178615.note(es-es,SQL.90).gifNota:
En la etapa inicial de una restauración por etapas, se reemplaza la restauración parcial de la base de datos de Microsoft SQL Server 2000. El objetivo de la restauración de base de datos parcial era restaurar únicamente una parte dañada de una base de datos (un subconjunto de grupos de archivos) en una nueva ubicación de manera que los datos dañados o perdidos se pudieran copiar de nuevo en la base de datos original. Una base de datos parcialmente restaurada no estaba pensada para ser utilizada como base de datos de producción y, para mejorar el rendimiento, RESTORE omitía la mayoría de las comprobaciones de seguridad habituales. Sin embargo, en SQL Server 2005, la opción PARTIAL realiza esas comprobaciones de seguridad.

{ CHECKSUM | NO_CHECKSUM }

El comportamiento predeterminado es comprobar las sumas de comprobación, si están presentes, y continuar sin esta verificación si no lo están.

CHECKSUM

Especifica que se comprueben las sumas de comprobación de copia de seguridad y que, si la copia de seguridad no dispone de ellas, la operación de restauración genere un error, con un mensaje que indique que no hay sumas de comprobación presentes.

De manera predeterminada, al encontrar una suma de comprobación no válida, RESTORE informa de un error de suma de comprobación y se detiene. Sin embargo, si se especifica CONTINUE_AFTER_ERROR, RESTORE continuará después de devolver el error de suma de comprobación y el número de la página que contiene la suma de comprobación que no es válida, si el daño lo permite.

Las sumas de comprobación de copia de seguridad son una de las novedades de SQL Server 2005. Para obtener más información acerca del trabajo con sumas de comprobación de copia de seguridad, vea Detectar y hacer frente a errores de medios.

NO_CHECKSUM

Deshabilita explícitamente la validación de las sumas de comprobación en la operación de restauración.

{ STOP_ON_ERROR | CONTINUE_AFTER_ERROR }
STOP_ON_ERROR

Especifica que la operación de restauración debe detenerse con el primer error encontrado. Es el comportamiento predeterminado de RESTORE, excepto en el caso de VERIFYONLY, cuyo comportamiento predeterminado es CONTINUE_AFTER_ERROR.

CONTINUE_AFTER_ERROR

Especifica que la operación de restauración debe continuar después de encontrar un error.

Para obtener información sobre cómo continúa la operación a pesar de haber errores, vea Responder a errores de restauración de SQL Server provocados por copias de seguridad dañadas.

Si una copia de seguridad contiene páginas dañadas, se recomienda repetir la operación de restauración con una copia de seguridad alternativa que no contenga estos errores (por ejemplo, una copia de seguridad realizada antes de que se produjeran daños en las páginas). Sin embargo, como último recurso, puede restaurar la copia de seguridad dañada con la opción CONTINUE_AFTER_ERROR de la instrucción de restauración e intentar recuperar los datos.

FILE ={ backup_set_file_number | @backup_set_file_number }

Identifica el conjunto de copia de seguridad que se va a restaurar. Por ejemplo, si backup_set_file_number es 1, indica el primer conjunto de copia de seguridad del medio de copia, y si backup_set_file_number es 2, indica el segundo conjunto de copia de seguridad.

Cuando no se especifica, el valor predeterminado es 1, excepto en el caso de RESTORE HEADERONLY, que procesa todos los conjuntos de copia de seguridad de los medios. Para obtener más información, vea "Especificar un conjunto de copia de seguridad" más adelante en este tema.

ms178615.note(es-es,SQL.90).gifImportante:
Esta opción FILE no está relacionada con la opción FILE que se utiliza para especificar un archivo de base de datos, FILE = { logical_file_name_in_backup | @logical_file_name_in_backup_var }.

KEEP_REPLICATION
ms178615.note(es-es,SQL.90).gifNota:
Sólo se admite en RESTORE.

KEEP_REPLICATION se debe utilizar durante la configuración de la réplica para que funcione con el trasvase de registros. Evita que se quite la configuración de réplica al restaurar una copia de seguridad de base de datos o de registros en un servidor en espera semiactiva, y la base de datos se recupera. No se permite especificar esta opción para restaurar una copia de seguridad con la opción NORECOVERY. Para garantizar que la réplica funciona correctamente después de la restauración:

  • Las bases de datos msdb y master del servidor en espera semiactiva deben estar sincronizadas con las bases de datos msdb y master del servidor primario.
  • El nombre del servidor en espera semiactiva debe cambiarse de manera que sea igual que el del servidor primario.
LOADHISTORY
ms178615.note(es-es,SQL.90).gifNota:
Se admite en RESTORE VERIFYONLY.

Especifica que la operación de restauración cargará la información en las tablas de historial de msdb. La opción LOADHISTORY carga en las tablas de historial de copia de seguridad y restauración de la base de datos msdb la información sobre las copias de seguridad de SQL Server almacenadas en el conjunto de medios para el conjunto de copia de seguridad que se comprueba. Para obtener más información acerca de las tablas de historial, vea Tablas del sistema (Transact-SQL).

MEDIANAME = { media_name | @media_name_variable}

Especifica el nombre de los medios. Si se proporciona, el nombre de los medios debe coincidir con el nombre de los medios de los volúmenes de copia de seguridad; en caso contrario, la operación de restauración finaliza. Si no se proporciona el nombre de los medios en la instrucción RESTORE, no se comprueba que éste coincida con el nombre de los medios de los volúmenes de copia de seguridad.

ms178615.note(es-es,SQL.90).gifImportante:
La utilización coherente de nombres de medios en las operaciones de copia de seguridad y de restauración proporciona una comprobación adicional de seguridad del medio seleccionado para la operación de restauración.

MEDIAPASSWORD = { mediapassword | @mediapassword_variable }

Proporciona la contraseña del conjunto de medios. Una contraseña de conjunto de medios es una cadena de caracteres.

Si se proporcionó una contraseña al dar formato al conjunto de medios, ésta será necesaria para tener acceso a cualquier conjunto de copia de seguridad de ese conjunto de medios. Es un error especificar una contraseña incorrecta o especificar una contraseña si el conjunto de medios no tiene ninguna.

ms178615.note(es-es,SQL.90).gifImportante:
Esta contraseña proporciona un nivel de protección bajo para el conjunto de medios. Para obtener más información, vea la sección Permisos de la instrucción correspondiente.

ms178615.note(es-es,SQL.90).gifNota:
La opción MEDIAPASSWORD se quitará en una versión futura.

MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name' [ ...]
ms178615.note(es-es,SQL.90).gifNota:
Se admite en RESTORE y RESTORE VERIFYONLY.

Especifica que el archivo de datos o de registro cuyo nombre lógico está especificado por logical_file_name_in_backup debe moverse restaurándolo en la ubicación especificada por operating_system_file_name. El nombre de archivo lógico de un archivo de datos o de registro de un conjunto de copia de seguridad coincide con el nombre lógico que tenía en la base de datos cuando se creó el conjunto de copia de seguridad.

n es un marcador de posición que indica que puede especificar instrucciones MOVE adicionales. Especifique una instrucción MOVE por cada archivo lógico que desee restaurar desde el conjunto de copia de seguridad a una nueva ubicación. De forma predeterminada, el archivo logical_file_name_in_backup se restaura en su ubicación original.

ms178615.note(es-es,SQL.90).gifNota:
Utilice RESTORE FILELISTONLY para obtener una lista de los archivos lógicos del conjunto de copia de seguridad.

Si se utiliza la instrucción RESTORE para reubicar una base de datos en el mismo servidor o para copiarla en uno diferente, puede que sea necesario utilizar la opción MOVE para volver a ubicar los archivos de base de datos, con el fin de evitar conflictos con los archivos existentes.

Cuando se utiliza con RESTORE LOG, la opción MOVE se puede utilizar sólo para reubicar los archivos agregados durante la restauración del registro. Por ejemplo, si la copia de seguridad del registro contiene una operación para agregar el archivo file23, este archivo se puede reubicar utilizando la opción MOVE en RESTORE LOG.

Si se utiliza la instrucción RESTORE VERIFYONLY cuando se tiene previsto reubicar una base de datos en el mismo servidor o copiarla en uno diferente, puede que sea necesario utilizar la opción MOVE para comprobar si hay espacio suficiente disponible en el destino y para identificar los posibles conflictos con los archivos existentes.

Para obtener más información, vea Copiar bases de datos con Copia de seguridad y Restaurar.

PASSWORD = { password | @password_variable }

Proporciona la contraseña del conjunto de copia de seguridad. Una contraseña de conjunto de copia de seguridad es una cadena de caracteres.

Si se especificó una contraseña al crear el conjunto de copia de seguridad, ésta es necesaria para realizar operaciones de restauración desde ese conjunto de copia de seguridad. Es un error especificar una contraseña incorrecta o especificar una contraseña si el conjunto de copia de seguridad no tiene ninguna.

ms178615.note(es-es,SQL.90).gifImportante:
Esta contraseña proporciona un nivel de protección bajo para el conjunto de medios. Para obtener más información, vea la sección Permisos de la instrucción correspondiente.

ms178615.note(es-es,SQL.90).gifNota:
La opción PASSWORD se quitará en una versión futura de SQL Server.

BLOCKSIZE = { blocksize | @blocksize_variable }

Especifica el tamaño de bloque físico, en bytes. Los tamaños admitidos son 512, 1024, 2048, 4096, 8192, 16384, 32768 y 65536 (64 KB) bytes. El valor predeterminado es 65536 para dispositivos de cinta y 512 para otros dispositivos. Normalmente, esta opción no es necesaria, ya que RESTORE selecciona automáticamente un tamaño de bloque apropiado para el dispositivo. La especificación explícita de un tamaño de bloque reemplaza la selección automática del tamaño de bloque.

Si va a restaurar una copia de seguridad desde un CD-ROM, especifique BLOCKSIZE=2048.

ms178615.note(es-es,SQL.90).gifNota:
Normalmente, esta opción sólo afecta al rendimiento al leer desde dispositivos de cinta.

BUFFERCOUNT = { buffercount | @buffercount_variable }

Especifica el número total de búferes de E/S que se van a utilizar para la operación de restauración. Puede especificar cualquier entero positivo; no obstante, un número de búferes demasiado grande podría provocar errores de "memoria insuficiente" a causa de un espacio de direcciones virtuales inadecuado en el proceso Sqlservr.exe.

El espacio total utilizado por los búferes está determinado por: buffercount * maxtransfersize.

MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }

Especifica la unidad de transferencia más grande (en bytes) que se debe utilizar entre el medio de copia de seguridad y SQL Server. Los valores posibles son múltiplos de 65536 bytes (64 KB), hasta un máximo de 4194304 bytes (4 MB).

ENABLE_BROKER
ms178615.note(es-es,SQL.90).gifNota:
Sólo se admite en RESTORE {DATABASE}.

Inicia Service Broker en modo habilitado para que los mensajes se puedan enviar de forma inmediata. De forma predeterminada, Service Broker se inicia en modo deshabilitado durante una restauración.

ERROR_BROKER_CONVERSATIONS
ms178615.note(es-es,SQL.90).gifNota:
Sólo se admite en RESTORE {DATABASE}.

Finaliza todas las conversaciones con un error que indica que la base de datos está adjunta o restaurada. El broker está deshabilitado hasta que finaliza esta operación y, después, se habilita.

NEW_BROKER
ms178615.note(es-es,SQL.90).gifNota:
Sólo se admite en RESTORE {DATABASE}.

Crea un valor service_broker_guid en sys.databases y en la base de datos restaurada y finaliza todos los extremos de conversación con limpieza. El broker se habilita, pero no se envía ningún mensaje a los extremos de conversación remotos.

{ RECOVERY | NORECOVERY | STANDBY }
ms178615.note(es-es,SQL.90).gifNota:
Sólo se admite en RESTORE.

RECOVERY

Indica a la operación de restauración que revierta las transacciones no confirmadas. Después del proceso de recuperación, la base de datos está preparada para ser utilizada. Si no se especifica NORECOVERY, RECOVERY o STANDBY, la opción predeterminada es RECOVERY.

Si las siguientes operaciones RESTORE (RESTORE LOG o RESTORE DATABASE a partir de una copia de seguridad diferencial) están planeadas, se debe especificar en su lugar NORECOVERY o STANDBY.

Al restaurar los conjuntos de copia de seguridad de una versión anterior de SQL Server, puede ser necesaria una actualización de la base de datos. Esta actualización se realiza automáticamente al especificar WITH RECOVERY. Para obtener más información, vea Aplicar copias de seguridad del registro de transacciones.

ms178615.note(es-es,SQL.90).gifNota:
Si se omite la cláusula FROM, se debe especificar NORECOVERY, RECOVERY o STANDBY en la cláusula WITH.

NORECOVERY

Indica a la operación de restauración que no revierta las transacciones no confirmadas. Si debe aplicarse otro registro de transacciones más adelante, especifique la opción NORECOVERY o STANDBY. Si no se especifica NORECOVERY, RECOVERY o STANDBY, la opción predeterminada es RECOVERY. Si se utiliza la opción NORECOVERY durante una operación de restauración sin conexión, la base de datos no puede utilizarse.

Para restaurar una copia de seguridad de base de datos y uno o varios registros de transacciones, o siempre que sean necesarias varias instrucciones RESTORE (por ejemplo, para restaurar una copia de seguridad de base de datos completa seguida de una copia de seguridad de base de datos diferencial), se requiere la opción WITH NORECOVERY en todas las instrucciones RESTORE, menos en la última. Se recomienda utilizar WITH NORECOVERY en todas las instrucciones de una secuencia de restauración de varios pasos hasta que se llegue al punto de recuperación deseado y, después, utilizar una instrucción RESTORE WITH RECOVERY aparte sólo para la restauración.

Cuando se utiliza en la operación de restauración de un archivo o grupo de archivos, NORECOVERY obliga a la base de datos a permanecer en estado de restauración después de la operación de restauración. Esto resulta útil en cualquiera de las situaciones siguientes:

  • Se está ejecutando una secuencia de comandos de restauración y se aplica el registro en todo momento.
  • Se está utilizando una secuencia de restauraciones de archivos y no está previsto que la base de datos se pueda utilizar entre dos de las operaciones de restauración.

En algunos casos, RESTORE WITH NORECOVERY actualiza el conjunto de puestas al día lo suficiente para que sea coherente con la base de datos. En esos casos, no se produce la reversión y los datos permanecen sin conexión, como cabe esperar con esta opción. No obstante, Database Engine (Motor de base de datos) genera un mensaje informativo donde indica que el conjunto de puestas al día se puede recuperar mediante la opción RECOVERY.

STANDBY = standby_file_name

Especifica un archivo en espera que permite deshacer los efectos de la recuperación. La opción STANDBY se puede utilizar en operaciones de restauración sin conexión (incluida la restauración parcial). Esta opción no se permite en operaciones de restauración con conexión. Si se intenta especificar la opción STANDBY para una operación de restauración con conexión, se producirá un error en la operación. STANDBY tampoco se permite cuando es necesario actualizar una base de datos.

ms178615.note(es-es,SQL.90).gifNota:
En SQL Server 2000, este archivo se denominaba "archivo para deshacer".

El archivo en espera se utiliza para mantener una imagen previa de "copia en escritura" de las páginas modificadas durante la fase de deshacer una operación RESTORE WITH STANDBY. El archivo en espera permite abrir una base de datos para el acceso de sólo lectura entre las restauraciones del registro de transacciones, y utilizarla cuando haya un servidor en espera semiactiva o en situaciones de recuperación especiales en las que resulte útil inspeccionar la base de datos entre las restauraciones del registro. Después de una operación RESTORE WITH STANDBY, el archivo para deshacer se elimina automáticamente en la siguiente operación RESTORE. Si elimina el archivo en espera de forma manual antes de la siguiente operación RESTORE, deberá volver a restaurar la base de datos completa. Mientras la base de datos está en estado STANDBY, debe tratar el archivo en espera con el mismo cuidado que cualquier otro archivo de base de datos. A diferencia de lo que sucede con los demás archivos de base de datos, Database Engine (Motor de base de datos) mantiene abierto este archivo sólo durante las operaciones de restauración activas.

standby_file_name especifica un archivo en espera cuya ubicación se almacena en el registro de la base de datos. Si hay otro archivo con el mismo nombre, se sobrescribe; en caso contrario, Database Engine (Motor de base de datos) crea el archivo.

Los requisitos de tamaño de un archivo en espera determinado dependen del volumen de las acciones de deshacer resultantes de las transacciones no confirmadas durante la operación de restauración.

ms178615.note(es-es,SQL.90).gifImportante:
Si la unidad que contiene el archivo en espera especificado se queda sin espacio de disco, la operación de restauración se detiene.

Para obtener una comparación de RECOVERY y NORECOVERY, vea la sección Notas de RESTORE.

REPLACE
ms178615.note(es-es,SQL.90).gifNota:
Sólo se admite en RESTORE.

Especifica que SQL Server debe crear la base de datos especificada y sus archivos relacionados aunque ya exista otra base de datos con el mismo nombre. En ese caso, se elimina la base de datos existente. Si no se especifica la opción REPLACE, se realiza una comprobación de seguridad. Así se evita sobrescribir por accidente una base de datos distinta. La comprobación de seguridad garantiza que la instrucción RESTORE DATABASE no restaurará la base de datos en el servidor actual si se dan las dos condiciones siguientes:

  • La base de datos nombrada en la instrucción RESTORE ya existe en el servidor actual.
  • El nombre de la base de datos es diferente del nombre de la base de datos registrado en el conjunto de copia de seguridad.

REPLACE también permite que RESTORE sobrescriba un archivo existente cuando no se puede comprobar si pertenece a la base de datos que se está restaurando. Normalmente, RESTORE no sobrescribe los archivos existentes. WITH REPLACE también se puede utilizar de la misma forma para la opción RESTORE LOG.

REPLACE elimina el requisito de que se realice una copia de seguridad de registros después del error antes de restaurar la base de datos.

Para obtener más información, vea Usar la opción REPLACE.

RESTART
ms178615.note(es-es,SQL.90).gifNota:
Sólo se admite en RESTORE.

Especifica que SQL Server debe reiniciar una operación de restauración que se ha interrumpido. RESTART reinicia la operación de restauración en el punto en que se interrumpió.

RESTRICTED_USER
ms178615.note(es-es,SQL.90).gifNota:
Sólo se admite en RESTORE.

Restringe el acceso a la base de datos recién restaurada a los miembros de las funciones db_owner, dbcreator o sysadmin. En SQL Server 2005, RESTRICTED_USER sustituye a la opción DBO_ONLY. DBO_ONLY está disponible sólo porque es compatible con versiones anteriores.

Utilícela con la opción RECOVERY.

Para obtener más información, vea Configurar las opciones de la base de datos.

{ REWIND | NOREWIND }

Estas opciones sólo se utilizan para dispositivos de cinta. Se omitirán si se utiliza otro tipo de dispositivo.

REWIND
ms178615.note(es-es,SQL.90).gifNota:
Se admite en las seis instrucciones: RESTORE, RESTORE FILELISTONLY, RESTORE HEADERONLY, RESTORE LABELONLY y RESTORE VERIFYONLY.

Especifica que SQL Server liberará y rebobinará la cinta. REWIND es la opción predeterminada.

NOREWIND
ms178615.note(es-es,SQL.90).gifNota:
Sólo se admite en RESTORE y RESTORE VERIFYONLY. Si se especifica NOREWIND en alguna otra instrucción de restauración, se produce un error.

Especifica que SQL Server mantendrá la cinta abierta tras la operación de copia de seguridad. Puede utilizar esta opción para mejorar el rendimiento al realizar varias operaciones de copia de seguridad en una cinta.

NOREWIND implica NOUNLOAD, y estas opciones son incompatibles en una sola instrucción RESTORE.

ms178615.note(es-es,SQL.90).gifNota:
Si utiliza NOREWIND, la instancia de SQL Server conserva la propiedad de la unidad de cinta hasta que una instrucción BACKUP o RESTORE que se ejecuta en el mismo proceso utiliza la opción REWIND o UNLOAD, o bien se cierra la instancia del servidor. Mantener abierta la cinta evita que otros procesos obtengan acceso a la misma. Para obtener más información sobre cómo mostrar una lista de cintas abiertas y cómo cerrar una cinta abierta, vea Dispositivos de copia de seguridad.

{ UNLOAD | NOUNLOAD }

Estas opciones sólo se utilizan para dispositivos de cinta. Se omitirán si se utiliza otro tipo de dispositivo.

ms178615.note(es-es,SQL.90).gifNota:
UNLOAD/NOUNLOAD es una configuración de sesión que persiste mientras dure la sesión o hasta que se reinicie especificando la alternativa.

UNLOAD

Especifica que la cinta se rebobina y descarga automáticamente al terminar la copia de seguridad. UNLOAD es el valor predeterminado cuando se inicia una sesión.

NOUNLOAD

Especifica que tras la operación RESTORE la cinta permanecerá cargada en la unidad de cinta.

STATS [ = percentage ]
ms178615.note(es-es,SQL.90).gifNota:
Se admite en RESTORE y RESTORE VERIFYONLY.

Muestra un mensaje cada vez que se completa otro porcentaje; se utiliza para indicar el progreso. Si se omite percentage, SQL Server muestra un mensaje después de completar cada 10 por ciento (aproximadamente).

La opción STATS informa del porcentaje completado desde el umbral para informar del próximo intervalo. Esto sucede más o menos en el porcentaje especificado. Por ejemplo, con STATS=10, Database Engine (Motor de base de datos) informa aproximadamente en ese intervalo; en lugar de mostrar exactamente el 40%, la opción podría mostrar el 43%. En el caso de los conjuntos de copia de seguridad de gran tamaño, esto no representa ningún problema porque el porcentaje completado se mueve muy lentamente entre las llamadas de E/S.

{ STOPAT | STOPATMARK | STOPBEFOREMARK }
ms178615.note(es-es,SQL.90).gifNota:
Sólo se admiten en RESTORE y únicamente para el modelo de recuperación completa o el modelo de recuperación por medio de registros de operaciones masivas.

STOPAT = { 'date_time' | @date_time_var }

Especifica que se va restaurar la base de datos al estado en que estaba en la fecha y hora especificadas.

Si se utiliza una variable para STOPAT, la variable debe ser del tipo de datos varchar, char, smalldatetime o datetime. Sólo se aplican a la base de datos los datos del registro de transacciones escritos antes de la fecha y hora especificadas.

ms178615.note(es-es,SQL.90).gifNota:
Si la hora de STOPAT es posterior a la última copia de seguridad de LOG, la base de datos se deja en estado no recuperado, como si se hubiera ejecutado RESTORE LOG con la opción NORECOVERY.

Para obtener más información, vea Restaurar bases de datos a un punto de una copia de seguridad.

STOPATMARK = { 'mark_name' | 'lsn:lsn_number' } [ AFTER 'datetime' ]

Especifica que la recuperación se realice en un punto de recuperación especificado. La transacción especificada se incluye en la recuperación, pero sólo se confirma si estaba confirmada inicialmente cuando se generó.

Tanto RESTORE DATABASE como RESTORE LOG admiten el parámetro lsn_number. Este parámetro especifica un número de secuencia de registro.

El parámetro mark_name sólo es compatible con la instrucción RESTORE LOG. Este parámetro identifica una marca de transacción en la copia de seguridad de registros.

En una instrucción RESTORE LOG, si se omite AFTER datetime, la recuperación se detiene en la primera marca con el nombre especificado. Si se especifica AFTER datetime, la recuperación se detiene en la primera marca que tenga el nombre especificado, ya coincida con datetime o ya sea posterior.

ms178615.note(es-es,SQL.90).gifNota:
Si la marca especificada, LSN, o la hora es posterior a la última copia de seguridad de LOG, la base de datos se deja en estado no recuperado, como si se hubiera ejecutado RESTORE LOG con la opción NORECOVERY.

Para obtener más información, vea Usar transacciones marcadas (modelo de recuperación completa) y Recuperar a un número de secuencia de registro (LSN).

STOPBEFOREMARK = { 'mark_name' | 'lsn:lsn_number' } [ AFTER 'datetime' ]

Especifica que la recuperación se realice en un punto de recuperación especificado. La transacción especificada no se incluye en la recuperación y se revertirá cuando se utilice WITH RECOVERY.

Tanto RESTORE DATABASE como RESTORE LOG admiten el parámetro lsn_number. Este parámetro especifica un número de secuencia de registro.

El parámetro mark_name sólo es compatible con la instrucción RESTORE LOG. Este parámetro identifica una marca de transacción en la copia de seguridad de registros.

En una instrucción RESTORE LOG, si se omite AFTER datetime, la recuperación se detiene justo antes de la primera marca con el nombre especificado. Si se especifica AFTER datetime, la recuperación se detiene justo antes de la primera marca que tenga el nombre especificado, ya coincida con datetime o ya sea posterior.

Para comprobar las notas adicionales, vea los siguientes temas:

Especificar un conjunto de copia de seguridad

Un conjunto de copia de seguridad contiene la copia de seguridad de una sola operación de copia de seguridad realizada correctamente. Las instrucciones RESTORE, RESTORE FILELISTONLY, RESTORE HEADERONLY y RESTORE VERIFYONLY actúan sobre un solo conjunto de copia de seguridad en el conjunto de medios de los dispositivos de copia de seguridad especificados. Debe especificar la copia de seguridad que necesita del conjunto de medios.

La opción para especificar el conjunto de copia de seguridad que se desea restaurar es:

FILE ={ backup_set_file_number | @backup_set_file_number }

backup_set_file_number indica la posición de la copia de seguridad en el conjunto de medios. Si el valor de backup_set_file_number es 1 (FILE = 1), indica el primer conjunto de copia de seguridad del medio de copia de seguridad; si el valor de backup_set_file_number es 2 (FILE = 2), indica el segundo conjunto de copia de seguridad, y así sucesivamente.

El comportamiento de esta opción varía en función de la instrucción, como se indica en la tabla siguiente.

Instrucción Comportamiento de la opción FILE de conjunto de copia de seguridad

RESTORE

El número predeterminado del conjunto de copia de seguridad es 1. En una instrucción RESTORE sólo se permite una opción FILE de conjunto de copia de seguridad. Es importante especificar los conjuntos de copia de seguridad por orden.

RESTORE FILELISTONLY

El número predeterminado del conjunto de copia de seguridad es 1.

RESTORE HEADERONLY

De forma predeterminada, se procesan todos los conjuntos de copia de seguridad del conjunto de medios. El conjunto de resultados de RESTORE HEADERONLY devuelve información sobre cada conjunto de copia de seguridad, incluida su Posición en el conjunto de medios. Para devolver información sobre un conjunto de copia de seguridad determinado, utilice su número de posición como valor de backup_set_file_number en la opción FILE.

Para cintas, RESTORE HEADER sólo procesa los conjuntos de copia de seguridad de la cinta cargada.
ms178615.note(es-es,SQL.90).gifNota:

RESTORE VERIFYONLY

El valor predeterminado de backup_set_file_number es 1.

ms178615.note(es-es,SQL.90).gifNota:
La opción FILE que se utiliza para especificar un conjunto de copia de seguridad no está relacionada con la opción FILE que se utiliza para especificar un archivo de base de datos, FILE = { logical_file_name_in_backup | @logical_file_name_in_backup_var }.

Resumen de compatibilidad para las opciones de WITH

La instrucción RESTORE es la única que admite las siguientes opciones WITH: PARTIAL, KEEP_REPLICATION, { RECOVERY | NORECOVERY | STANDBY }, REPLACE , RESTART , RESTRICTED_USER , and { STOPAT | STOPATMARK | STOPBEFOREMARK }

ms178615.note(es-es,SQL.90).gifNota:
La opción PARTIAL sólo se admite en RESTORE DATABASE.

En la tabla siguiente se enumeran las opciones de WITH que se utilizan en una o más instrucciones, y se indica qué instrucciones admiten cada opción. Una marca de verificación (√) indica que la opción se admite; el guión (—) indica que la opción no se admite.

Opción de WITH RESTORE RESTORE FILELISTONLY RESTORE HEADERONLY RESTORE LABELONLY RESTORE REWINDONLY RESTORE VERIFYONLY

{ CHECKSUM

| NO_CHECKSUM }

{ CONTINUE_AFTER_ERROR

| STOP_ON_ERROR }

FILE1

LOADHISTORY

MEDIANAME

MEDIAPASSWORD

MOVE

PASSWORD

{ REWIND | NOREWIND }

Sólo REWIND

Sólo REWIND

Sólo REWIND

STATS

{ UNLOAD | NOUNLOAD }

1 FILE = backup_set_file_number, que es distinto de {FILE | FILEGROUP}.

Versión Historial

12 de diciembre de 2006

Contenido modificado:
  • Se han agregado descripciones de las opciones BLOCKSIZE, BUFFERCOUNT y MAXTRANSFERSIZE.
  • Se corrigieron las descripciones de STOPATMARK y STOPBEFOREMARK.

14 de abril de 2006

Contenido nuevo:
  • Se ha agregado la sección "Especificar un conjunto de copia de seguridad".
  • Se ha agregado una nota a la descripción de STOPATMARK.
  • Se han agregado las secciones siguientes, que contienen vínculos a otros temas de RESTORE con información relevante:
    • "Sintaxis"
    • "Notas"
    • "Conjuntos de resultados"
    • "Notas"
    • "Permisos"
    • "Ejemplos"
Contenido modificado:
  • Se ha revisado la nota de la descripción de STOPAT.
  • Se ha cambiado la variable logical_file_name a logical_file_name_in_backup.
  • Se han actualizado las descripciones de las opciones {REWIND | NOREWIND} y {UNLOAD | NOUNLOAD}.

5 de diciembre de 2005

Contenido nuevo:
  • Se han agregado las opciones ENABLE_BROKER y ERROR_BROKER_CONVERSATIONS.

Adiciones de comunidad

AGREGAR
Mostrar: