Solución de problemas SQL Server operaciones de copia de seguridad y restauración

En este artículo se proporcionan soluciones para problemas comunes que puede experimentar durante microsoft SQL Server operaciones de copia de seguridad y restauración, y se proporcionan referencias a información adicional sobre estas operaciones.

Versión del producto original: SQL Server
Número de KB original: 224071

Las operaciones de copia de seguridad y restauración tardan mucho tiempo

Las operaciones de copia de seguridad y restauración son intensivas de E/S. El rendimiento de copia de seguridad y restauración depende del grado de optimización del subsistema de E/S subyacente para controlar el volumen de E/S. Si sospecha que las operaciones de copia de seguridad se detienen o tardan demasiado en finalizarse, puede usar uno o varios de los métodos siguientes para calcular el tiempo de finalización o para realizar un seguimiento del progreso de una operación de copia de seguridad o restauración:

  • El registro de errores de SQL Server contiene información sobre las operaciones de copia de seguridad y restauración anteriores. Puede usar estos detalles para calcular el tiempo necesario para realizar copias de seguridad y restaurar la base de datos en su estado actual. A continuación se muestra una salida de ejemplo del registro de errores:

    RESTORE DATABASE successfully processed 315 pages in 0.372 seconds (6.604 MB/sec)
    
  • En SQL Server 2016 y versiones posteriores, puede usar XEvent backup_restore_progress_trace para realizar un seguimiento del progreso de las operaciones de copia de seguridad y restauración.

  • Puede usar la percent_complete columna de sys.dm_exec_requests para realizar un seguimiento del progreso de las operaciones de copia de seguridad y restauración en curso.

  • Puede medir la información de rendimiento de copia de seguridad y restauración mediante los Device throughput Bytes/sec contadores del monitor de rendimiento y Backup/Restore throughput/sec . Para obtener más información, consulte SQL Server, Objeto de dispositivo de copia de seguridad.

  • Use el script estimate_backup_restore para obtener una estimación de los tiempos de copia de seguridad.

  • Consulte How It Works: What is Restore/Backup Doing?. En esta entrada de blog se proporciona información sobre la fase actual de las operaciones de copia de seguridad o restauración.

Cosas que hay que comprobar

  1. Compruebe si experimenta alguno de los problemas conocidos que se enumeran en la tabla siguiente. Considere si debe implementar los cambios o aplicar las correcciones y procedimientos recomendados que se describen en los artículos correspondientes.

    Vínculo de Knowledge Base o Libros en pantalla Explicación y acciones recomendadas
    Optimización del rendimiento de copia de seguridad y restauración en SQL Server En el tema Libros en pantalla se tratan varios procedimientos recomendados que puede usar para mejorar el rendimiento de las operaciones de copia de seguridad y restauración. Por ejemplo, puede asignar el privilegio especial a la cuenta de Windows que ejecuta SQL Server para habilitar la SE_MANAGE_VOLUME_NAME inicialización instantánea de los archivos de datos. Esto puede producir mejoras significativas en el rendimiento.
    2920151 revisiones y actualizaciones recomendadas para clústeres de conmutación por error basados en Windows Server 2012 R2

    paquete acumulativo de actualizaciones de 2822241 Windows 8 y Windows Server 2012: abril de 2013
    Los paquetes acumulativos del sistema actuales pueden incluir correcciones para problemas conocidos en el nivel del sistema que pueden degradar el rendimiento de programas como SQL Server. La instalación de estas actualizaciones puede ayudar a evitar estos problemas.
    2878182 CORRECCIÓN: Los procesos en modo de usuario de una aplicación no responden en servidores que ejecutan Windows Server 2012

    Las operaciones de copia de seguridad son intensivas en E/S y pueden verse afectadas por este error. Aplique esta corrección para ayudar a evitar estos problemas.
    Configuración del software antivirus para que funcione con SQL Server El software antivirus puede contener bloqueos en .bak archivos. Esto puede afectar al rendimiento de las operaciones de copia de seguridad y restauración. Siga las instrucciones de este artículo para excluir los archivos de copia de seguridad de los exámenes de virus.
    2820470 mensaje de error retrasado al intentar acceder a una carpeta compartida que ya no existe en Windows Describe un problema que se produce al intentar acceder a una carpeta compartida que ya no existe en Windows 2012 y versiones posteriores.
    967351 Es posible que un archivo muy fragmentado en un volumen NTFS no crezca más allá de un tamaño determinado. Describe un problema que se produce cuando un sistema de archivos NTFS está muy fragmentado.
    304101 programa de copia de seguridad no se realiza correctamente cuando se realiza una copia de seguridad de un volumen de sistema grande
    2455009 CORRECCIÓN: rendimiento lento al recuperar una base de datos si hay muchas VLF dentro del registro de transacciones en SQL Server 2005, en SQL Server 2008 o en SQL Server 2008 R2 La presencia de muchos archivos de registro virtuales podría afectar al tiempo necesario para restaurar una base de datos. Esto es especialmente cierto durante la fase de recuperación de la operación de restauración. Para obtener información sobre otros posibles problemas que pueden deberse a la presencia de muchas VLF, consulte Operaciones de base de datos tardan mucho tiempo en completarse o desencadenan errores cuando el registro de transacciones tiene numerosos archivos de registro virtuales.
    Una operación de copia de seguridad o restauración en una ubicación de red es lenta Aísle el problema a la red al intentar copiar un archivo de tamaño similar en la ubicación de red desde el servidor que ejecuta SQL Server. Compruebe el rendimiento.
  2. Busque mensajes de error en el registro de errores de SQL Server y en el registro de eventos de Windows para obtener más punteros sobre la causa del problema.

  3. Si usa planes de mantenimiento de bases de datos o software de terceros para realizar copias de seguridad simultáneas, considere si debe cambiar las programaciones para minimizar la contención en la unidad en la que se escriben las copias de seguridad.

  4. Trabaje con el administrador de Windows para comprobar si hay actualizaciones de firmware para el hardware.

Problemas que afectan a la restauración de bases de datos entre diferentes versiones de SQL Server

No se puede restaurar una copia de seguridad de SQL Server a una versión anterior de SQL Server que la versión en la que se creó la copia de seguridad. Por ejemplo, no se puede restaurar una copia de seguridad que se realiza en una instancia de SQL Server 2019 a una instancia de SQL Server 2017. De lo contrario, aparece el siguiente mensaje de error:

Error 3169: Se realizó una copia de seguridad de la base de datos en un servidor que ejecutaba la versión %ls. Esa versión no es compatible con este servidor, que ejecuta la versión %ls. Restaure la base de datos en un servidor que admita la copia de seguridad o use una copia de seguridad compatible con este servidor.

Use el método siguiente para copiar una base de datos hospedada en una versión posterior de SQL Server a una versión anterior de SQL Server.

Nota:

En el procedimiento siguiente se supone que tiene dos instancias de SQL Server denominadas SQL_A (versión superior) y SQL_B (versión inferior).

  1. Descargue e instale la versión más reciente de SQL Server Management Studio (SSMS) tanto en SQL_A como en SQL_B.
  2. En SQL_A, siga estos pasos:
    1. Haga clic con el botón derecho en <YourDatabase>Tasks>Generate Scripts (Generar scripts) y seleccione la opción para incluir en scripts toda la base de datos y todos los objetos de base de datos.
    2. En la pantalla Establecer opciones de scripting, seleccione Avanzadas y, a continuación, seleccione la versión de SQL_B en Script general>para SQL Server versión. Además, seleccione la opción que mejor funcione para guardar los scripts generados. A continuación, continúe con el asistente.
    3. Use la utilidad del programa de copia masiva (bcp) para copiar datos de tablas diferentes.
  3. En SQL_B, siga estos pasos:
    1. Use los scripts generados en el servidor de SQL_A para crear el esquema de base de datos.
    2. En cada una de las tablas, deshabilite las restricciones y desencadenadores de clave externa. Si la tabla tiene columnas de identidad, habilite la inserción de identidad.
    3. Use bcp para importar los datos que exportó en el paso anterior en las tablas correspondientes.
    4. Una vez finalizada la importación de datos, habilite restricciones y desencadenadores de clave externa y deshabilite la inserción de identidad para cada una de las tablas que se ven afectadas en el paso c.

Este procedimiento suele funcionar bien para bases de datos de tamaño pequeño a mediano. En el caso de las bases de datos más grandes, es posible que se produzcan problemas de memoria insuficiente en SSMS y otras herramientas. Debe considerar la posibilidad de usar SQL Server Integration Services (SSIS), replicación u otras opciones para crear una copia de una base de datos de una versión posterior a una versión anterior de SQL Server.

Para obtener más información sobre cómo generar scripts para la base de datos, vea Script a database by using the Generate Scripts option (Generar scripts).

Problemas de trabajos de copia de seguridad en entornos de Always On

Si tiene problemas que afectan a los trabajos de copia de seguridad o a los planes de mantenimiento en entornos de Always On, tenga en cuenta lo siguiente:

  • De forma predeterminada, la preferencia de copia de seguridad automática se establece en Prefer Secondary (Preferir secundaria). Esto especifica que se deben realizar copias de seguridad en una réplica secundaria, excepto si la réplica principal es la única réplica en línea. No puede realizar copias de seguridad diferenciales de la base de datos mediante esta configuración. Para cambiar esta configuración, use SSMS en la réplica principal actual y vaya a la página Preferencias de copia de seguridad en Propiedades del grupo de disponibilidad.
  • Si usa un plan de mantenimiento o trabajos programados para generar copias de seguridad de las bases de datos, asegúrese de crear los trabajos para cada base de datos de disponibilidad en cada instancia de servidor que hospede una réplica de disponibilidad para el grupo de disponibilidad.

Para obtener más información sobre las copias de seguridad en un entorno de Always On, consulte los temas siguientes:

Si recibe mensajes de error que indican un problema de archivo, es sintomático de un archivo de copia de seguridad dañado. A continuación se muestran algunos ejemplos de errores que podría obtener si un conjunto de copia de seguridad está dañado:

  • 3241: La familia de medios del dispositivo '%ls' no está formada correctamente. SQL Server no puede procesar esta familia de medios.

  • 3242: El archivo del dispositivo '%ls' no es un conjunto de copia de seguridad de formato de cinta de Microsoft válido.

  • 3243: La familia de medios del dispositivo '%ls' se creó con la versión de formato de cinta de Microsoft %d.%d. SQL Server admite la versión %d.%d.

Nota:

Puede usar la instrucción Restore Header para comprobar las copias de seguridad.

Estos problemas pueden producirse debido a problemas que afectan al hardware subyacente (discos duros, almacenamiento de red, etc.) o que están relacionados con un virus o malware. Revise los registros de eventos y los registros de hardware del sistema windows para ver si se han notificado errores y realice las acciones adecuadas (por ejemplo, actualice el firmware o corrija los problemas de red).

Para evitar estos errores, habilite la opción Backup CHECKSUM al ejecutar una copia de seguridad para evitar la copia de seguridad de una base de datos dañada. Para obtener más información, vea Posibles errores de medios durante la copia de seguridad y restauración (SQL Server).

También puede habilitar la marca de seguimiento 3023 para habilitar una suma de comprobación al ejecutar copias de seguridad mediante herramientas de copia de seguridad. Para obtener más información, vea Cómo habilitar la opción CHECKSUM si las utilidades de copia de seguridad no exponen la opción.

Para solucionar estos problemas, debe buscar otro archivo de copia de seguridad utilizable o crear un nuevo conjunto de copia de seguridad. Microsoft no ofrece ninguna solución que pueda ayudar a recuperar datos de un conjunto de copia de seguridad dañado.

Nota:

Si un archivo de copia de seguridad se restaura correctamente en un servidor, pero no en otro, pruebe diferentes formas de copiar el archivo entre los servidores. Por ejemplo, pruebe robocopy en lugar de una operación de copia normal.

Se produce un error en las copias de seguridad debido a problemas de permisos

Al intentar ejecutar operaciones de copia de seguridad de base de datos, se produce uno de los siguientes errores.

  • Escenario 1: al ejecutar una copia de seguridad desde SQL Server Management Studio, se produce un error en la copia de seguridad y se devuelve el siguiente mensaje de error:

    Error en la copia de seguridad del <nombre> del servidor. (Microsoft.SqlServer.SmoExtended)
    System.Data.SqlClient.SqlError: no se puede abrir el dispositivo de copia de seguridad "nombre> del dispositivo"<. Error del sistema operativo 5(Se deniega el acceso). (Microsoft.SqlServer.Smo)

  • Escenario 2: se produce un error en las copias de seguridad programadas y se genera un mensaje de error que se registra en el historial de trabajos del trabajo con errores y que es similar al siguiente:

    Executed as user: <Owner of the job>. ....2 for 64-bit  Copyright (C) 2019 Microsoft. All rights reserved.    
    Started:  5:49:14 PM  Progress: 2021-08-16 17:49:15.47    
    Source: {GUID}      Executing query "DECLARE @Guid UNIQUEIDENTIFIER      EXECUTE msdb..sp...".: 100% complete  End Progress  
    Error: 2021-08-16 17:49:15.74     
    Code: 0xC002F210     
    Source: Back Up Database (Full) Execute SQL Task     
    Description: Executing the query "EXECUTE master.dbo.xp_create_subdir N'C:\backups\D..." failed with the following error: "xp_create_subdir() returned error 5, 'Access is denied.'". 
    Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
    

Cualquiera de estos escenarios puede producirse si la cuenta de servicio de SQL Server no tiene permisos de lectura y escritura en la carpeta en la que se escriben las copias de seguridad. Las instrucciones de copia de seguridad se pueden ejecutar como parte de un paso de trabajo o manualmente desde SQL Server Management Studio. En cualquier caso, siempre se ejecutan en el contexto de la cuenta de inicio de SQL Server Service. Por lo tanto, si la cuenta de servicio no tiene los privilegios necesarios, recibirá los mensajes de error que se anotaron anteriormente.

Para obtener más información, consulte Dispositivos de copia de seguridad.

Nota:

Puede comprobar los permisos actuales de la cuenta del servicio SQL en una carpeta; para ello, vaya a la pestaña Seguridad de las propiedades de la carpeta correspondiente, seleccione el botón Opciones avanzadas y, a continuación, use la pestaña Acceso efectivo .

Error en las operaciones de copia de seguridad o restauración que usan aplicaciones de copia de seguridad de terceros

SQL Server proporciona una herramienta de interfaz de dispositivo de copia de seguridad virtual (VDI). Esta API permite a los proveedores de software independientes integrar SQL Server en sus productos para proporcionar soporte técnico para las operaciones de copia de seguridad y restauración. Estas API están diseñadas para proporcionar la máxima confiabilidad y rendimiento, y para admitir toda la gama de SQL Server funcionalidad de copia de seguridad y restauración. Esto incluye toda la gama de funcionalidades de instantáneas y copias de seguridad activas.

Pasos habituales para la solución de problemas

Más recursos

Cómo funciona: ¿Cuántas bases de datos se pueden hacer copias de seguridad simultáneamente?

Problemas varios

Síntoma/escenario Acciones correctivas o información adicional
Las copias de seguridad pueden producir un error si el seguimiento de cambios está habilitado en las bases de datos y devuelve errores similares a los siguientes:

"Error: 3999, gravedad: 17, estado: 1.

<Time Stamp> spid <spid> Failed to flush the commit table to disk in dbid 8 due to error 2601. Compruebe el registro de errores para obtener más información."


Consulte los siguientes artículos de Microsoft Knowledge Base:
Problemas al restaurar copias de seguridad de bases de datos cifradas Mover una base de datos protegida por TDE a otra SQL Server
Se produce un error al intentar restaurar una copia de seguridad de CRM desde la edición Enterprise en una edición Estándar 2567984 error "No se puede iniciar la base de datos en esta edición de SQL Server" al restaurar una base de datos de Microsoft Dynamics CRM

Preguntas más frecuentes sobre SQL Server operaciones de copia de seguridad y restauración

¿Cómo puedo comprobar el estado de una operación de copia de seguridad?

Use el script estimate_backup_restore para obtener una estimación de los tiempos de copia de seguridad.

¿Qué debo hacer si SQL Server conmuta por error en medio de la copia de seguridad?

Reinicie la operación de restauración o copia de seguridad por Reiniciar una operación de restauración interrumpida (Transact-SQL).

¿Puedo restaurar copias de seguridad de bases de datos de versiones anteriores del programa en versiones más recientes y viceversa?

SQL Server copia de seguridad no se puede restaurar mediante una versión de SQL Server posterior a la versión que creó la copia de seguridad. Para obtener más información, vea Compatibilidad.

Cómo comprobar las copias de seguridad de la base de datos de SQL Server?

Consulte los procedimientos que se documentan en Instrucciones RESTORE: VERIFYONLY (Transact-SQL).

¿Cómo puedo obtener el historial de copia de seguridad de las bases de datos en SQL Server?

Consulte Cómo obtener el historial de copia de seguridad de las bases de datos en SQL Server.

¿Puedo restaurar copias de seguridad de 32 bits en servidores de 64 bits y viceversa?

Sí. El SQL Server formato de almacenamiento en disco es el mismo en los entornos de 64 y 32 bits. Por lo tanto, las operaciones de copia de seguridad y restauración funcionan en entornos de 64 y 32 bits.

Sugerencias generales para la solución de problemas

  • Asegúrese de aprovisionar permisos de lectura y escritura en la cuenta de servicio de SQL Server en la carpeta en la que se escriben las copias de seguridad. Para obtener más información, vea Permisos para la copia de seguridad.
  • Asegúrese de que la carpeta en la que se escriben las copias de seguridad tenga espacio suficiente para dar cabida a las copias de seguridad de la base de datos. Puede usar el sp_spaceused procedimiento almacenado para obtener una estimación aproximada del tamaño de copia de seguridad de una base de datos específica.
  • Use siempre la versión más reciente de SSMS para asegurarse de que no encuentra ningún problema conocido relacionado con la configuración de trabajos y planes de mantenimiento.
  • Realice una ejecución de prueba de los trabajos para asegurarse de que las copias de seguridad se crean correctamente. Agregue siempre lógica para comprobar las copias de seguridad.
  • Si tiene previsto mover bases de datos del sistema de un servidor a otro, revise Mover bases de datos del sistema.
  • Si observa errores intermitentes de copia de seguridad, compruebe si está experimentando un problema que ya se ha corregido en la última actualización de la versión de SQL Server. Para obtener más información, consulte SQL Server Versiones y actualizaciones.
  • Para programar y automatizar copias de seguridad para las ediciones de SQL Express, consulte Programación y automatización de copias de seguridad de bases de datos de SQL Server en SQL Server Express.

Temas de referencia para SQL Server operaciones de copia de seguridad y restauración

  • Para obtener más información sobre las operaciones de copia de seguridad y restauración, consulte los temas siguientes en los Libros en pantalla:

    "Copia de seguridad y restauración de bases de datos de SQL Server": en este tema se tratan los conceptos de las operaciones de copia de seguridad y restauración de bases de datos de SQL Server, se proporcionan vínculos a temas adicionales y se proporcionan procedimientos detallados para ejecutar varias copias de seguridad o tareas de restauración (como comprobar copias de seguridad y realizar copias de seguridad mediante T-SQL o SSMS). Este es el tema principal sobre este tema en SQL Server documentación.

  • En la tabla siguiente se enumeran temas adicionales que es posible que quiera revisar para las tareas específicas relacionadas con las operaciones de copia de seguridad y restauración.

    Referencia Descripción
    BACKUP (Transact-SQL) Proporciona respuestas a preguntas básicas relacionadas con las copias de seguridad. Proporciona ejemplos de diferentes tipos de operaciones de copia de seguridad y restauración.
    Dispositivos de copia de seguridad (SQL Server) Proporciona una referencia excelente para comprender varios dispositivos de copia de seguridad, realizar copias de seguridad en un recurso compartido de red, Azure Blob Storage y tareas relacionadas.
    Modelos de recuperación (SQL Server) Describe en detalle los distintos modelos de recuperación: Simple, Completo y Registrado masivamente. Proporciona información sobre cómo afecta el modelo de recuperación a las copias de seguridad.
    Copia de seguridad & restauración: bases de datos del sistema (SQL Server) Trata las estrategias y describe lo que debe tener en cuenta al trabajar en operaciones de copia de seguridad y restauración de bases de datos del sistema.
    Información general sobre restauración y recuperación (SQL Server) Explica cómo afectan los modelos de recuperación a las operaciones de restauración. Debe revisar esto si tiene preguntas sobre cómo el modelo de recuperación de una base de datos puede afectar al proceso de restauración.
    Administrar metadatos al hacer que una base de datos esté disponible en otro servidor Varias consideraciones que debe tener en cuenta cuando se mueve una base de datos o cuando se producen problemas que afectan a los inicios de sesión, el cifrado, la replicación, los permisos, etc.
    Trabajar con copias de seguridad del registro de transacciones Presenta conceptos sobre cómo realizar copias de seguridad y restaurar (aplicar) registros de transacciones en los modelos de recuperación completos y de registro masivo. Explica cómo realizar copias de seguridad rutinarias de registros de transacciones (copias de seguridad de registros) para recuperar datos.
    SQL Server Copia de seguridad administrada en Microsoft Azure Presenta la copia de seguridad administrada y los procedimientos asociados.