Solución de problemas de la copia de seguridad de base de datos de SQL Server con Azure Backup
En este artículo se proporciona información para la solución de problemas de las bases de datos de SQL Server que se ejecutan en máquinas virtuales de Azure.
Para más información sobre el proceso y las limitaciones de las copias de seguridad, consulte Acerca de la copia de seguridad de SQL Server en máquinas virtuales de Azure.
Permisos de SQL Server
Para configurar la protección de una base de datos de SQL Server en una máquina virtual, debe instalar en ella la extensión AzureBackupWindowsWorkload. Si aparece el error UserErrorSQLNoSysadminMembership, significa que la instancia de SQL Server no tiene los permisos de copia de seguridad requeridos. Para corregir este error, siga los pasos descritos en Establecer permisos de máquina virtual.
Solución de problemas de detección y configuración
Cuando se completa la creación y configuración de un almacén de Recovery Services, la detección de bases de datos y la configuración de la copia de seguridad es un proceso de dos pasos.
Durante la configuración de copia de seguridad, si la máquina virtual de SQL y sus instancias no están visibles en Detección de bases de datos en máquinas virtuales y Configurar copia de seguridad (consulte la imagen anterior), asegúrese de lo siguiente:
Paso 1: Detección de bases de datos en máquinas virtuales
- Si la máquina virtual no aparece en la lista de máquinas virtuales detectadas ni tampoco está registrada como copia de seguridad de SQL en otro almacén, siga los pasos de Detección de copia de seguridad de SQL Server.
Paso 2: Configurar la copia de seguridad
- Si el almacén en el que se registra la máquina virtual de SQL en el mismo almacén que se usa para proteger las bases de datos, siga los pasos de Configuración de la copia de seguridad.
Si hay que registrar la máquina virtual de SQL en el nuevo almacén, se debe anular el registro del almacén anterior. La anulación del registro de una máquina virtual de SQL del almacén requiere que se detenga la protección de todos los orígenes de datos protegidos y, después, se pueden eliminar los datos cuya copia de seguridad se ha realizado. La eliminación de datos de copia de seguridad es una operación destructiva. Una vez que haya revisado y tomado todas las precauciones para anular el registro de la máquina virtual de SQL, registre la misma máquina virtual en un nuevo almacén y vuelva a intentar la operación de copia de seguridad.
Solución de incidencias de copia de seguridad y recuperación
En ocasiones, es posible que se produzcan errores aleatorios en las operaciones de restauración y copia de seguridad, o dichas operaciones pueden dejar de responder. Los programas antivirus en la máquina virtual pueden ser la causa de ello. Como procedimiento recomendado, se sugieren los siguientes pasos:
Excluya las siguientes carpetas del examen del antivirus:
C:\Program Files\Azure Workload Backup
C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.RecoveryServices.WorkloadBackup.AzureBackupWindowsWorkload
Reemplace
C:\
por la letra de su unidad SystemDrive.Excluya del examen del antivirus los siguientes tres procesos en ejecución de la máquina virtual:
- IaasWLPluginSvc.exe
- IaaSWorkloadCoordinatorService.exe
- TriggerExtensionJob.exe
SQL también ofrece algunas instrucciones sobre cómo trabajar con programas antivirus. Consulte este artículo para más información.
Instancia con errores en una máquina virtual con varias instancias de SQL Server
Solo puede restaurar en una máquina virtual de SQL si todas las instancias de SQL que se ejecutan dentro de la máquina virtual se notifican como correctas. Si una o más instancias tienen "errores", la máquina virtual no aparecerá como destino de restauración. Por lo tanto, este podría ser un posible motivo por el que una máquina virtual con varias instancias no aparezca en la lista desplegable "servidor" durante la operación de restauración.
Puede validar la "preparación para la copia de seguridad" de todas las instancias de SQL de la máquina virtual, en Configurar copia de seguridad:
Si desea desencadenar una restauración en las instancias de SQL correctas, siga estos pasos:
Inicie sesión en la máquina virtual de SQL y vaya a
C:\Program Files\Azure Workload Backup\bin
.Cree un archivo JSON llamado
ExtensionSettingsOverrides.json
(si aún no está presente). Si este archivo ya está presente en la máquina virtual, siga utilizándolo.Agregue el contenido siguiente en el archivo JSON y guarde el archivo:
{ "<ExistingKey1>":"<ExistingValue1>", …………………………………………………… , "whitelistedInstancesForInquiry": "FaultyInstance_1,FaultyInstance_2" } Sample content: { "whitelistedInstancesForInquiry": "CRPPA,CRPPB " }
Desencadene la operación Volver a detectar bases de datos en el servidor afectado desde Azure Portal (en el mismo lugar donde se puede ver la preparación para la copia de seguridad). La máquina virtual empezará a aparecer como destino para las operaciones de restauración.
Elimine la entrada whitelistedInstancesForInquiry del archivo ExtensionSettingsOverrides.json una vez finalizada la operación de restauración.
Mensajes de error
Tipo de copia de seguridad no compatible
severity | Descripción | Causas posibles | Acción recomendada |
---|---|---|---|
Advertencia | La configuración actual de esta base de datos no admite determinados tipos de copia de seguridad presentes en la directiva asociada. | Modifique la configuración de la base de datos para que se admitan todos los tipos de copia de seguridad de la directiva. O bien cambie la directiva actual para incluir solo los tipos de copia de seguridad compatibles. De lo contrario, se omitirán los tipos de copia de seguridad no compatibles durante la copia de seguridad programada o el trabajo de copia de seguridad generará errores en caso de que se trate de una copia de seguridad a petición. |
UserErrorSQLPODoesNotSupportBackupType
Mensaje de error | Causas posibles | Acción recomendada |
---|---|---|
Esta base de datos SQL no admite el tipo de copia de seguridad solicitado. | Se produce cuando el modelo de recuperación de base de datos no admite el tipo de copia de seguridad solicitado. El error puede ocurrir en las siguientes situaciones:
|
Si se produce un error en la copia de seguridad de registros de la base de datos en el modelo de recuperación simple, pruebe una de estas opciones:
|
OperationCancelledBecauseConflictingOperationRunningUserError
Mensaje de error | Causas posibles | Acción recomendada |
---|---|---|
La operación se canceló, porque ya se estaba ejecutando una operación en conflicto en la misma base de datos. | Este error puede producirse cuando el trabajo de copia de seguridad desencadenado a petición o programado tiene conflictos con una operación de copia de seguridad que ya se está ejecutando activada por la extensión de Azure Backup en la misma base de datos. Los siguientes son los escenarios en los que puede aparecer este código de error:
|
Una vez que se produzca un error en la operación en conflicto, reinicie la operación. |
UserErrorFileManipulationIsNotAllowedDuringBackup
Mensaje de error | Causas posibles | Acciones recomendadas |
---|---|---|
Las operaciones de manipulación de archivos de copia de seguridad (como ALTER DATABASE ADD FILE) y los cambios de cifrado en una base de datos deben serializarse. | Los siguientes son los casos en los que puede que surja este código de error:
|
Deshabilite el otro producto de copia de seguridad para resolver el problema. |
UserErrorSQLPODoesNotExist
Mensaje de error | Causas posibles | Acciones recomendadas |
---|---|---|
La base de datos SQL no existe. | La base de datos se eliminó o se cambió de nombre. | Compruebe si la base de datos se ha eliminado o cambiado de nombre por accidente. Si la base de datos se eliminó por accidente, para continuar realizando copias de seguridad, restaure la base de datos a la ubicación original. Si ha eliminado la base de datos y no va a necesitar copias de seguridad en el futuro, en el almacén de Recovery Services, seleccione Detener copia de seguridad con Retener datos de copia de seguridad o Eliminar datos de la copia de seguridad. Para más información, consulte Administración y supervisión de bases de datos SQL Server con copia de seguridad. |
UserErrorSQLLSNValidationFailure
Mensaje de error | Causas posibles | Acciones recomendadas |
---|---|---|
La cadena de registros se ha interrumpido. | Se realiza una copia de seguridad de la base de datos o de la máquina virtual a través de otra solución de copia de seguridad, lo que trunca la cadena de registros. |
|
UserErrorOpeningSQLConnection
Mensaje de error | Causas posibles | Acciones recomendadas |
---|---|---|
Azure Backup no puede conectarse a la instancia de SQL. | Azure Backup no puede conectarse a la instancia de SQL Server. | Utilice los detalles adicionales del menú del error de Azure Portal para reducir las causas principales. Para solucionar el error, consulte Solución de problemas de copia de seguridad de SQL.
|
UserErrorParentFullBackupMissing
Mensaje de error | Causas posibles | Acciones recomendadas |
---|---|---|
Falta la primera copia de seguridad completa de este origen de datos. | Falta la copia de seguridad completa de la base de datos. Las copias de seguridad diferenciales y de registros son elementos principales de una copia de seguridad completa, por lo tanto, asegúrese de realizar copias de seguridad completas antes de desencadenar copias de seguridad diferenciales o de registros. | Desencadenar una copia de seguridad a petición. |
UserErrorBackupFailedAsTransactionLogIsFull
Mensaje de error | Causas posibles | Acciones recomendadas |
---|---|---|
No se puede realizar la copia de seguridad, ya que el registro de transacciones del origen de datos está lleno. | El espacio del registro de transacciones de la base de datos está lleno. | Para corregir este problema, consulte la documentación de SQL Server. |
UserErrorCannotRestoreExistingDBWithoutForceOverwrite
Mensaje de error | Causas posibles | Acciones recomendadas |
---|---|---|
Ya existe una base de datos con el mismo nombre en la ubicación de destino | El destino de la restauración ya tiene una base de datos con el mismo nombre. |
|
UserErrorRestoreFailedDatabaseCannotBeOfflined
Mensaje de error | Causas posibles | Acciones recomendadas |
---|---|---|
Se produjo un error en la restauración, ya que no se pudo desconectar. | Al realizar una restauración, la base de datos de destino debe desconectarse. Azure Backup no puede ofrecer estos datos sin conexión. | Utilice los detalles adicionales del menú del error de Azure Portal para reducir las causas principales. Para más información, consulte la documentación de SQL Server. |
WlExtGenericIOFaultUserError
Mensaje de error | Causas posibles | Acciones recomendadas |
---|---|---|
Error de entrada/salida durante la operación. Compruebe los errores comunes de E/S en la máquina virtual. | Permisos de acceso o restricciones de espacio en el destino. | Compruebe los errores comunes de E/S en la máquina virtual. Asegúrese de que la unidad de disco o recurso compartido de red de destino de la máquina: Para más información, consulte Restaurar como archivos. |
UserErrorCannotFindServerCertificateWithThumbprint
Mensaje de error | Causas posibles | Acciones recomendadas |
---|---|---|
No se puede encontrar el certificado de servidor con la huella digital en el destino. | La base de datos maestra de la instancia de destino no tiene una huella digital de cifrado válida. | Importe en la instancia de destino la huella digital del certificado válida utilizada en la instancia de origen. |
UserErrorRestoreNotPossibleBecauseLogBackupContainsBulkLoggedChanges
Mensaje de error | Causas posibles | Acciones recomendadas |
---|---|---|
La copia de seguridad de registros usada para la recuperación contiene cambios registrados de forma masiva. No se puede usar para detenerse en un punto arbitrario en el tiempo según las instrucciones de SQL. | Cuando una base de datos está en modo de recuperación de registro masivo, no se pueden recuperar los datos entre una transacción registrada de forma masiva y la siguiente transacción del registro. | Elija un punto diferente en el tiempo para la recuperación. Más información. |
FabricSvcBackupPreferenceCheckFailedUserError
Mensaje de error | Causas posibles | Acciones recomendadas |
---|---|---|
No puede cumplir la preferencia de copia de seguridad del grupo de disponibilidad Always On de SQL, ya que algunos nodos del grupo de disponibilidad no están registrados. | Los nodos necesarios para realizar copias de seguridad no están registrados o no se puede acceder a ellos. |
|
VMNotInRunningStateUserError
Mensaje de error | Causas posibles | Acciones recomendadas |
---|---|---|
La máquina virtual con SQL Server está apagada o no se puede acceder al servicio Azure Backup. | La máquina virtual está apagada. | Asegúrese de que la instancia de SQL Server se está ejecutando. |
GuestAgentStatusUnavailableUserError
Mensaje de error | Causas posibles | Acciones recomendadas |
---|---|---|
El servicio Azure Backup usa el agente invitado de la máquina virtual de Azure para realizar la copia de seguridad, pero dicho agente no está disponible en el servidor de destino. | El agente invitado no está habilitado o es incorrecto. | Instale el agente invitado de la máquina virtual manualmente. |
AutoProtectionCancelledOrNotValid
Mensaje de error | Causas posibles | Acciones recomendadas |
---|---|---|
La intención de la protección automática se ha quitado o ya no es válida. | Cuando se habilita la protección automática en una instancia de SQL Server, se ejecutan los trabajos de Configurar copia de seguridad para todas las bases de datos de esa instancia. Si se deshabilita la protección automática mientras se ejecutan los trabajos, los trabajos en curso se cancelan con este código de error. | Habilite la protección automática una vez más para ayudar a proteger todas las bases de datos restantes. |
CloudDosAbsoluteLimitReached
Mensaje de error | Causas posibles | Acciones recomendadas |
---|---|---|
La operación se bloquea porque ha alcanzado el límite en el número de operaciones permitidas en 24 horas. | Este error aparecerá cuando haya alcanzado el límite máximo permitido para una operación en un intervalo de 24 horas. Por ejemplo: Si ha alcanzado el límite para el número de trabajos de configuración de copia de seguridad que se pueden desencadenar al día e intenta configurar la copia de seguridad de un nuevo elemento, verá este error. |
Normalmente, si se vuelve a intentar la operación después de 24 horas, se resuelve este problema. Sin embargo, si el problema persiste, puede ponerse en contacto con el equipo de soporte técnico de Microsoft para obtener ayuda. |
CloudDosAbsoluteLimitReachedWithRetry
Mensaje de error | Causas posibles | Acciones recomendadas |
---|---|---|
La operación está bloqueada porque el almacén ha alcanzado su límite máximo permitido para ese tipo de operaciones en un intervalo de 24 horas. | Este error aparecerá cuando haya alcanzado el límite máximo permitido para una operación en un intervalo de 24 horas. Normalmente, este error aparece cuando hay operaciones a escala, como la modificación de una directiva o la protección automática. A diferencia de lo que sucede en el caso de CloudDosAbsoluteLimitReached, no se puede hacer mucho para resolver este estado. De hecho, el servicio de Azure Backup volverá a intentar internamente las operaciones para todos los elementos en cuestión. Por ejemplo: si tiene un gran número de orígenes de datos protegidos con una directiva e intenta modificar esa directiva, se desencadenará la configuración de los trabajos de protección para cada uno de los elementos protegidos y, en ocasiones, puede alcanzar el límite máximo permitido para tales operaciones al día. |
El servicio Azure Backup volverá a intentar esta operación automáticamente después de 24 horas. |
WorkloadExtensionNotReachable
Mensaje de error | Causas posibles | Acciones recomendadas |
---|---|---|
Error en la operación de extensión de carga de trabajo de Azure Backup. | La VM está apagada o no puede ponerse en contacto con el servicio Azure Backup debido a problemas de conectividad de Internet. |
UserErrorVMInternetConnectivityIssue
Mensaje de error | Causas posibles | Acciones recomendadas |
---|---|---|
La máquina virtual no es capaz de ponerse en contacto con el servicio Azure Backup debido a problemas de conectividad de Internet. | Causa 1: La máquina virtual necesita conectividad saliente con los servicios Azure Backup Service, Azure Storage o Microsoft Entra. Causa 2: Una política de objetos de política de grupo (GPO) restringe los conjuntos de cifrado necesarios para la comunicación TLS. |
Recomendación para la causa 1: Recomendación para la causa 2: quite la máquina virtual del GPO o deshabilite o quite la directiva de GPO como solución alternativa. Como alternativa, modifique el GPO de tal manera que permita los conjuntos de cifrado necesarios. |
UserErrorOperationNotAllowedDatabaseMirroringEnabled
Mensaje de error | Causa posible | Acción recomendada |
---|---|---|
AzureWorkloadBackup no permite hacer copias de seguridad de bases de datos que participan en una sesión de creación de reflejo de la base de datos. | Al habilitar la operación de creación de reflejo en una base de datos SQL, aparece este error. Actualmente, Azure Backup no admite bases de datos con esta característica habilitada. | Puede quitar la sesión de creación de reflejo de la base de datos para que la operación se complete correctamente. Como alternativa, si la base de datos ya está protegida, Detenga la operación de copia de seguridad en la base de datos. |
UserErrorWindowsWLExtFailedToStartPluginService
Mensaje de error | Causa posible | Recomendación |
---|---|---|
Error en la operación: UserErrorWindowsWLExtFailedToStartPluginService . |
La extensión de carga de trabajo de Azure Backup no puede iniciar el servicio del complemento de copia de seguridad de la carga de trabajo en la máquina virtual de Azure debido a una configuración incorrecta de la cuenta de servicio. | Paso 1: Compruebe si el usuario NT Service\AzureWLBackupPluginSvc tiene permisos de lectura de usuario en: - C:\windows\Microsoft.NET \assembly\GAC_32 - C:\windows\Microsoft.NET \assembly\GAC_64 - C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config. Si faltan los permisos, asigne estos permisos de lectura en estos directorios. Paso 2: Compruebe si NT Service\AzureWLBackupPluginSvc tiene los derechos de omisión de la comprobación transversal. Para hacerlo, vaya a Directiva de seguridad local>Asignación de derechos de usuario>Omisión de la comprobación transversal. La opción Todos debe seleccionarse de forma predeterminada. Si Todos y NT Service\AzureWLBackupPluginSvc faltan, agregue el usuario NT Service\AzureWLBackupPluginSvc. Después, intente reiniciar el servicio o desencadenar una operación de restauración o copia de seguridad para un origen de datos. |
Errores de repetición del registro
Compruebe uno o varios de los siguientes síntomas antes de desencadenar la operación de repetición del registro:
Se producen errores en todas las operaciones (tales como copia de seguridad, restauración y configuración de copia de seguridad) en la máquina virtual con uno de los códigos de error siguientes: WorkloadExtensionNotReachable , UserErrorWorkloadExtensionNotInstalled, WorkloadExtensionNotPresent, WorkloadExtensionDidntDequeueMsg.
Si el área Estado de copia de seguridad del elemento de copia de seguridad se muestra como no accesible, descarte todas las demás causas que podrían dar lugar al mismo estado:
- Falta de permiso para realizar operaciones relacionadas con la copia de seguridad en la máquina virtual.
- Apagado de la máquina virtual, por lo que no se pueden realizar copias de seguridad.
- Problemas de red
En el caso de un grupo de disponibilidad AlwaysOn, las copias de seguridad comienzan a generar errores después de cambiar la preferencia de copia de seguridad o alterar una conmutación por error.
Estos síntomas pueden surgir por uno o varios de los siguientes motivos:
- Se ha eliminado o desinstalado una extensión del portal.
- Se ha desinstalado una extensión del Panel de control de la máquina virtual en Desinstalar o cambiar este programa.
- Se ha restaurado la máquina virtual retrocediendo en el tiempo a través de la restauración del disco o discos en contexto.
- Se ha apagado la máquina virtual durante un largo período, por lo que la configuración de la extensión en ella ha caducado.
- Se ha eliminado la máquina virtual, y se ha creado otra con el mismo nombre y en el mismo grupo de recursos que la máquina virtual eliminada.
- Uno de los nodos del grupo de disponibilidad no recibió la configuración de copia de seguridad completa. Esto puede ocurrir cuando el grupo de disponibilidad se registra en el almacén o cuando se agrega un nuevo nodo.
En los escenarios anteriores, se recomienda desencadenar una operación de nuevo registro en la máquina virtual. Aquí se ofrecen instrucciones sobre cómo realizar esta tarea en PowerShell.
Límite de tamaño para los archivos
El tamaño total de la cadena de archivos no solo depende del número de archivos, sino también de sus nombres y rutas de acceso. Para cada archivo de base de datos, obtenga el nombre de archivo lógico y la ruta de acceso física. Puede usar esta consulta SQL:
SELECT mf.name AS LogicalName, Physical_Name AS Location FROM sys.master_files mf
INNER JOIN sys.databases db ON db.database_id = mf.database_id
WHERE db.name = N'<Database Name>'"
Ahora organícelos en el siguiente formato:
[{"path":"<Location>","logicalName":"<LogicalName>","isDir":false},{"path":"<Location>","logicalName":"<LogicalName>","isDir":false}]}
Este es un ejemplo:
[{"path":"F:\\Data\\TestDB12.mdf","logicalName":"TestDB12","isDir":false},{"path":"F:\\Log\\TestDB12_log.ldf","logicalName":"TestDB12_log","isDir":false}]}
Si el tamaño de la cadena del contenido supera los 20 000 bytes, los archivos de base de datos se almacenarán de forma diferente. Durante la recuperación, no podrá establecer la ruta de acceso del archivo de destino para la restauración. Los archivos se restaurarán en la ruta de acceso predeterminada de SQL proporcionada por SQL Server.
Reemplazo de la ruta de acceso predeterminada del archivo de restauración de destino
Puede reemplazar la ruta de acceso del archivo de restauración de destino durante la operación de restauración mediante la colocación de un archivo JSON que contenga la asignación del archivo de base de datos a la ruta de acceso de restauración de destino. Cree un archivo database_name.json
y colóquelo en la ubicación C:\Program Files\Azure Workload Backup\bin\plugins\SQL*
.
El contenido del archivo debe tener este formato:
[
{
"Path": "<Restore_Path>",
"LogicalName": "<LogicalName>",
"IsDir": "false"
},
{
"Path": "<Restore_Path>",
"LogicalName": "LogicalName",
"IsDir": "false"
},
]
Este es un ejemplo:
[
{
"Path": "F:\\Data\\testdb2_1546408741449456.mdf",
"LogicalName": "testdb7",
"IsDir": "false"
},
{
"Path": "F:\\Log\\testdb2_log_1546408741449456.ldf",
"LogicalName": "testdb7_log",
"IsDir": "false"
},
]
En el contenido anterior puede obtener el nombre lógico del archivo de base de datos mediante la siguiente consulta SQL:
SELECT mf.name AS LogicalName FROM sys.master_files mf
INNER JOIN sys.databases db ON db.database_id = mf.database_id
WHERE db.name = N'<Database Name>'"
Este archivo se debe colocar antes de desencadenar la operación de restauración.
Pasos siguientes
Para obtener más información sobre Azure Backup para máquinas virtuales SQL.