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 yBackup/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
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 2013Los 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. 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.
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.
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).
- Descargue e instale la versión más reciente de SQL Server Management Studio (SSMS) tanto en SQL_A como en SQL_B.
- En SQL_A, siga estos pasos:
- 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.
- 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.
- Use la utilidad del programa de copia masiva (bcp) para copiar datos de tablas diferentes.
- En SQL_B, siga estos pasos:
- Use los scripts generados en el servidor de SQL_A para crear el esquema de base de datos.
- 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.
- Use bcp para importar los datos que exportó en el paso anterior en las tablas correspondientes.
- 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:
- Configuración de copias de seguridad en réplicas secundarias de un grupo de disponibilidad de Always On
- Descarga de copias de seguridad admitidas en réplicas secundarias de un grupo de disponibilidad
Errores relacionados con medios al restaurar una base de datos a partir de una copia de seguridad
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
En el caso de las versiones anteriores a SQL Server 2012, asegúrese de que se ha iniciado el servicio SQLWriter y de que la cuenta de inicio está establecida en Sistema local. Además, asegúrese de que el inicio de sesión NT AUTHORITY\SYSTEM existe en SQL Server y de que forma parte del rol de servidor Sysadmin de la instancia en la que se ejecutan las copias de seguridad.
Para SQL Server 2012 y versiones posteriores, se crea y aprovisiona un nuevo inicio de sesión denominado [NT SERVICE\SQLWriter] como inicio de sesión durante la instalación. Asegúrese de que este inicio de sesión existe en SQL Server y forma parte del rol de servidor Sysadmin.
Asegúrese de que SqlServerWriter aparece cuando se ejecuta el
VSSADMIN LIST WRITERS
comando en un símbolo del sistema en el servidor que ejecuta SQL Server. Este escritor debe aparecer como escritor y debe estar en estado Estable para permitir que las copias de seguridad de VSS finalicen correctamente.Para obtener más información, consulte los registros del software de copia de seguridad correspondiente y sus sitios de soporte técnico.
Síntomas o escenario Artículo de Knowledge Base Error en las copias de seguridad de bases de datos que distinguen mayúsculas de minúsculas 2987610 CORRECCIÓN: Error al hacer una copia de seguridad de una base de datos que distingue mayúsculas de minúsculas mediante VSS en SQL Server 2012 SP2 Las copias de seguridad de terceros que se realizan mediante vss writer pueden producir un error y devolver errores 8229. 2987610 CORRECCIÓN: Error al hacer una copia de seguridad de una base de datos que distingue mayúsculas de minúsculas mediante VSS en SQL Server 2012 SP2 Descripción del funcionamiento de la copia de seguridad de VDI Funcionamiento: SQL Server: recursos de copia de seguridad de VDI (VSS) El agente de Azure Site recovery notifica un error Se produce un error en la copia de seguridad del agente de ASR u otra copia de seguridad de VSS que no sea de componente para un servidor que hospeda SQL Server 2008 R2
Más recursos
Cómo funciona: ¿Cuántas bases de datos se pueden hacer copias de seguridad simultáneamente?
Problemas varios
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.