Compartir a través de


RESTORE (argumentos, Transact-SQL)

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. Solo 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 temasConvenciones de sintaxis de Transact-SQL

Argumentos

  • DATABASE
    Es compatible con: RESTORE

    Especifica la base de datos de destino. Si se especifica una lista de archivos o de grupos de archivos, solo 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 el modelo de recuperación optimizado para cargas masivas de registros, SQL Server requiere en la mayoría de los casos que realice una copia de seguridad del final del registro antes de restaurar la base de datos. Restaurar una base de datos sin hacer una copia de seguridad primero de la cola del registro produce un error, a menos que la instrucción RESTORE DATABASE contenga la cláusula WITH REPLACE o WITH STOPAT, que deben especificar un momento o transacción que se produjeran tras finalizar la copia de seguridad de los datos. Para obtener más información sobre las copias del final del registro, vea Copias del final del registro.

  • LOG
    Es compatible con: 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.

    Nota

    Normalmente, el último registro que se restaura es el que corresponde a la copia del final del registro. Una copia del final del registro 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 del final del registro 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 del final del registro.

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

  • { database_name | **@**database_name_var}
    Es compatible con: 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 ]
    Es compatible con: 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 solo se admiten si los archivos o grupos de archivos de destino son de solo 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 de recuperación optimizado para cargas masivas de registros, 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 solo 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 solo se admite en el modelo de recuperación simple si el grupo de archivos especificado es de solo 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 solo lectura después de los grupos de archivos de lectura y escritura anteriores a los grupos de archivos de solo lectura.

    • PAGE = 'file:page [ ,...n ]'
      Especifica una lista de una o varias páginas para una restauración de página (que solo se admite en bases de datos que utilizan los modelos de recuperación completa o de recuperación optimizado para cargas masivas de registros). É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 cualquier archivo único en una secuencia de restauración es 1000. Sin embargo, si la cantidad de páginas dañadas en un archivo no es pequeña, plantéese restaurar el archivo entero en lugar de las páginas.

      Nota

      Las restauraciones de página no se recuperan nunca.

      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.

Es compatible con: RESTORE, RESTORE FILELISTONLY, RESTORE HEADERONLY, RESTORE LABELONLY, RESTORE REWINDONLY y RESTORE VERIFYONLY.

      - \<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= 'Z:\\SQLServerBackups\\AdventureWorks2008R2.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](ms179313\(v=sql.105\).md).
            
            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 sin conexión o en línea 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 en línea 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 en línea 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](ms191316\(v=sql.105\).md).
    
    <div class="alert">
    

    > [!NOTE]
    > <P>Si se restaura una copia de seguridad desde un conjunto de medios reflejado, solo 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 solo una vez.</P>

    
    </div>

  - \<database_snapshot\>::=  

Es compatible con: 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 solo 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" de [RESTORE DATABASE](ms186858\(v=sql.105\).md).

Opciones de WITH

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.

Nota

Las opciones de WITH se organizan aquí en el mismo orden que en la sección "Sintaxis" de RESTORE {DATABASE | LOG}.

  • PARTIAL
    Es compatible con: RESTORE DATABASE

    Especifica una operación de restauración parcial que solo 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.

    Nota

    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 y en versiones posteriores, la opción PARTIAL realiza esas comprobaciones de seguridad.

  • [ RECOVERY | NORECOVERY | STANDBY ]
    Es compatible con: 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.

      Nota

      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 solo 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 un script 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, 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 en línea. Si se intenta especificar la opción STANDBY para una operación de restauración en línea, se producirá un error en la operación. STANDBY tampoco se permite cuando es necesario actualizar una base de datos.

      Nota

      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 solo 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, Motor de base de datos mantiene abierto este archivo solo 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, 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.

      Nota importanteImportante

      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.

  • LOADHISTORY
    Es compatible con: 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 copias 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).

<general_WITH_options> [ ,...n ]

Las opciones generales de WITH son todas compatibles con las instrucciones RESTORE DATABASE y RESTORE LOG. Algunas de estas opciones también son compatible con una o varias instrucciones auxiliares, tal y como se indica a continuación.

Opciones de la operación de restauración

Estas opciones afectan al comportamiento de la operación de restauración.

  • MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name' [ ...n ]
    Es compatible con: 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.

    Nota

    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 solo 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 restauración.

  • REPLACE
    Es compatible con: 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 del final del registro antes de restaurar la base de datos.

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

  • RESTART
    Es compatible con: 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
    Es compatible con: RESTORE.

    Restringe el acceso a la base de datos recién restaurada a los miembros de los roles db_owner, dbcreator o sysadmin. RESTRICTED_USER sustituye a la opción DBO_ONLY. DBO_ONLY no se incluye con SQL Server 2008.

    Utilícela con la opción RECOVERY.

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

Opciones de conjunto de copia de seguridad

Estas opciones funcionan en el conjunto de copia de seguridad que contiene la copia de seguridad que se va a restaurar.

  • FILE ={ backup_set_file_number | **@**backup_set_file_number }
    Es compatible con: RESTORE, RESTORE FILELISTONLY, RESTORE HEADERONLY y RESTORE VERIFYONLY.

    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. Puede obtener el backup_set_file_number de un conjunto de copia de seguridad utilizando la instrucción RESTORE HEADERONLY.

    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.

    Nota importanteImportante

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

  • PASSWORD = { password | **@**password_variable }
    Es compatible con: RESTORE, RESTORE FILELISTONLY, RESTORE HEADERONLY y RESTORE VERIFYONLY.

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

    Nota

    Esta característica se quitará en una versión futura de Microsoft SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.

    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.

    Nota importanteImportante

    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.

Opciones de conjuntos de medios

Estas opciones funcionan para el conjunto de medios en su totalidad.

  • MEDIANAME = { media_name | **@**media_name_variable}
    Es compatible con: RESTORE, RESTORE FILELISTONLY, RESTORE HEADERONLY, RESTORE LABELONLY y RESTORE VERIFYONLY.

    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.

    Nota importanteImportante

    La utilización coherente de nombres de medios en las operaciones de copias de seguridad y restauración proporciona una comprobación adicional de seguridad del medio seleccionado para la operación de restauración.

  • MEDIAPASSWORD = { mediapassword | **@**mediapassword_variable }
    Es compatible con: RESTORE, RESTORE FILELISTONLY, RESTORE HEADERONLY, RESTORE LABELONLY y RESTORE VERIFYONLY.

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

    Nota

    Esta característica se quitará en una versión futura de Microsoft SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.

    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.

    Nota importanteImportante

    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.

  • BLOCKSIZE = { blocksize | **@**blocksize_variable }
    Es compatible con: RESTORE

    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.

    Nota

    Normalmente, esta opción solo afecta al rendimiento al leer desde dispositivos de cinta.

Opciones de transferencia de datos

Las opciones le permiten optimizar la transferencia de datos desde el dispositivo de copia de seguridad.

  • BUFFERCOUNT = { buffercount | **@**buffercount_variable }
    Es compatible con: RESTORE

    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 }
    Es compatible con: RESTORE

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

Operaciones de administración de errores

Estas opciones permiten determinar si se habilitarán las sumas de comprobación de copia de seguridad para la operación de restauración y si ésta se detendrá al encontrar un error.

  • { CHECKSUM | NO_CHECKSUM }
    Es compatible con: RESTORE, RESTORE FILELISTONLY, RESTORE HEADERONLY, RESTORE LABELONLY y RESTORE VERIFYONLY.

    El comportamiento predeterminado es comprobar las sumas de comprobación, si están presentes, y continuar sin esta comprobació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.

      Nota

      Las sumas de comprobación de la página solo son pertinentes para las operaciones de copia de seguridad si se utilizan sumas de comprobación de copia de seguridad.

      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.

      Para obtener más información acerca del trabajo con sumas de comprobación de copia de seguridad, vea Detectar y copiar con errores de medios durante las copias de seguridad y restauración.

    • 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 }
    Es compatible con: RESTORE, RESTORE FILELISTONLY, RESTORE HEADERONLY, RESTORE LABELONLY y RESTORE VERIFYONLY.

    • 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 usando una copia de seguridad alternativa que no contenga esos 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.

Opciones de supervisión

Estas opciones le permiten supervisar la transferencia de datos desde el dispositivo de copia de seguridad.

  • STATS [ = percentage ]
    Es compatible con: 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, 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.

Opciones de cinta

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

  • { REWIND | NOREWIND }
    Estas opciones solo se utilizan para dispositivos de cinta. Se omitirán si se utiliza otro tipo de dispositivo.

    • REWIND
      Es compatible con: 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
      Es compatible con: 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.

      Nota

      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 }
    Es compatible con: RESTORE, RESTORE FILELISTONLY, RESTORE HEADERONLY, RESTORE LABELONLY, RESTORE REWINDONLY y RESTORE VERIFYONLY.

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

    Nota

    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.

<replication_WITH_option>

Esta opción solo es pertinente si la base de datos se replicó cuando se creó la copia de seguridad.

  • KEEP_REPLICATION
    Es compatible con: RESTORE

    KEEP_REPLICATION se debe utilizar durante la configuración de la replicación para que funcione con el trasvase de registros. Evita que se quite la configuración de replicación 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 replicación funciona correctamente después de la restauración:

    • Las bases de datos msdb y maestra del servidor en espera semiactiva deben estar sincronizadas con las bases de datos msdb y master del servidor principal.

    • El nombre del servidor en espera semiactiva debe cambiarse de manera que sea igual que el del servidor principal.

<change_data_capture_WITH_option>

Esta opción solo es pertinente si la base de datos se habilitó para la captura de datos modificados cuando se creó la copia de seguridad.

  • KEEP_CDC
    Es compatible con: RESTORE

    KEEP_CDC se debe usar para evitar que la configuración de la captura de datos modificados se quite cuando una copia de seguridad de la base de datos o del registro se restaura en otro servidor y se recupera la base de datos. No se permite especificar esta opción para restaurar una copia de seguridad con la opción NORECOVERY.

    Al restaurar la base de datos con KEEP_CDC, no se crearán los trabajos de la captura de datos modificados. Para extraer los cambios del registro después de restaurar la base de datos, deberá volver a crear el trabajo del proceso de captura y el trabajo de limpieza para la base de datos restaurada. Para obtener información, vea sys.sp_cdc_add_job (Transact-SQL).

<service_broker_WITH_options>  [ ,...n ]

Activa o desactiva la entrega de mensajes de Service Broker o establece un nuevo identificador de Service Broker. Para obtener más información sobre la entrega de mensajes y los identificadores de Service Broker, vea Administrar identidades de Service Broker. Esta opción solo es pertinente si Service Broker se habilitó (activó) para la base de datos cuando se creó la copia de seguridad.

  • { ENABLE_BROKER  | ERROR_BROKER_CONVERSATIONS  | NEW_BROKER }
    Es compatible con: RESTORE DATABASE

    • ENABLE_BROKER
      Especifica que la entrega de mensajes de Service Broker está habilitada al final de la restauración para que los mensajes se puedan enviar inmediatamente. De forma predeterminada, la entrega de mensajes de Service Broker está deshabilitada durante una restauración. La base de datos conserva el identificador de Service Broker existente.

    • ERROR_BROKER_CONVERSATIONS
      Finaliza todas las conversaciones con un error que indica que la base de datos está adjunta o restaurada. Esto permite que las aplicaciones realicen una limpieza regular de las conversaciones existentes. La entrega de mensajes de Service Broker está deshabilitada hasta que se completa esta operación y, después, se habilita. La base de datos conserva el identificador de Service Broker existente.

    • NEW_BROKER
      Especifica que se asigne a la base de datos un nuevo identificador de Service Broker. Dado que la base de datos se considera como un nuevo Service Broker, todas las conversaciones existentes en la base de datos se quitan inmediatamente sin generar mensajes de fin de diálogo. Cualquier ruta que haga referencia al identificador de Service Broker anterior debe volverse a crear con el nuevo identificador.

<point_in_time_WITH_options>

Es compatible con: RESTORE {DATABASE|LOG} y únicamente para el modelo de recuperación completa o de recuperación optimizado para cargas masivas de registros.

Puede restaurar una base de datos hasta un momento concreto o transacción especificando el punto de recuperación de destino en una cláusula STOPAT, STOPBEFOREMARK o STOPATMARK. Un momento o transacción especificada siempre se restaura a partir de una copia de seguridad del registro. En cada instrucción RESTORE LOG de la secuencia de restauración, debe especificar el momento o la transacción de destino en una cláusula STOPAT, STOPBEFOREMARK o STOPATMARK idéntica.

Como requisito previo para realizar una restauración a un momento dado, primero debe restaurar una copia de seguridad total de la base de datos cuyo final sea anterior al punto de recuperación de destino. Para ayudarle a identificar qué copia de seguridad de la base de datos restaurar, si lo desea puede especificar la cláusula STOPAT, STOPBEFOREMARK o STOPATMARK en una instrucción RESTORE DATABASE para generar un error si una copia de seguridad de los datos es demasiado reciente para el momento de destino especificado. Pero la copia de seguridad completa de los datos se restaura siempre, aunque contenga el momento de destino.

Nota

Las opciones RESTORE_DATABASE y RESTORE_LOG a un momento dado de WITH son parecidas, pero solo RESTORE LOG admite el argumento mark_name.

  • { STOPAT | STOPATMARK | STOPBEFOREMARK }

    • STOPAT = { 'datetime' | **@**datetime_var }
      Especifica que se va restaurar la base de datos al estado en que estaba en la fecha y hora especificadas por el parámetro datetime o **@**datetime_var. Para obtener información acerca de la especificación de fecha y hora, vea Usar datos de fecha y hora.

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

      Nota

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

      Nota

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

    Nota importanteImportante

    Si una secuencia de restauración parcial excluye cualquier grupo de archivos FILESTREAM, no se admite la restauración a un momento dado. Puede forzar la continuación de la secuencia de restauración. Sin embargo, no se podrán restaurar los grupos de archivos FILESTREAM omitidos en la instrucción RESTORE. Para forzar una restauración a un momento dado, especifique la opción CONTINUE_AFTER_ERROR junto con la opción STOPAT, STOPATMARK o STOPBEFOREMARK. Si se especifica CONTINUE_AFTER_ERROR, la secuencia de restauración parcial será correcta y el grupo de archivos FILESTREAM no será recuperable.

Conjuntos de resultados

Para obtener los conjuntos de resultados, vea los siguientes temas:

Comentarios

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. Puede obtener el backup_set_file_number de un conjunto de copia de seguridad utilizando la instrucción RESTORE HEADERONLY.

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

NotaNota
Para cintas, RESTORE HEADER solo procesa los conjuntos de copia de seguridad de la cinta cargada.

RESTORE VERIFYONLY

El valor predeterminado de backup_set_file_number es 1.

Nota

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

Las siguientes opciones de WITH son compatibles únicamente con la instrucción RESTORE: BLOCKSIZE, BUFFERCOUNT, MAXTRANSFERSIZE, PARTIAL, KEEP_REPLICATION, { RECOVERY | NORECOVERY | STANDBY }, REPLACE, RESTART, RESTRICTED_USER y { STOPAT | STOPATMARK | STOPBEFOREMARK }

Nota

La opción PARTIAL solo 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 }

Solo REWIND

Solo REWIND

Solo REWIND

STATS

{ UNLOAD | NOUNLOAD }

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

Ejemplos

Para obtener ejemplos, vea los siguientes temas: