Durante la retirada de un entorno de copias de seguridad basado en Microsoft System Center Data Protection Manager (DPM), puede ocurrir que el asistente de desinstalación no consiga eliminar correctamente todos los componentes asociados: bases de datos, trabajos de SQL Server, grupos locales, almacenamiento o servicios vinculados.
En uno de nuestros últimos procesos de retirada de infraestructura nos encontramos con varios errores típicos de desinstalación parcial de DPM sobre Windows Server 2022 y SQL Server 2017.
Síntomas habituales tras desinstalar DPM
El desinstalador puede mostrar mensajes similares a:
- No se pudo eliminar la base de datos
DPMDB - No se pudieron eliminar trabajos SQL (
SQL Agent Jobs) - Persisten grupos
AutoRecoverableSnapShotReaders_* - No se eliminan componentes de Reporting Services
- Fallos relacionados con
MICROSOFT$DPM$Acct - Servicios SQL que ya no arrancan
En nuestro caso, además, la instancia SQL dejó de iniciar correctamente tras la desinstalación parcial debido a un problema de inicio de sesión del servicio asociado a la cuenta administrada de DPM.
Identificación de la instancia SQL utilizada por DPM
Desde services.msc localizamos la instancia:
SQL Server (MSDPMINSTANCE)
También es habitual encontrar:
- SQL Server Agent
- SQL Browser
- Reporting Services
- SQL VSS Writer
Recuperar temporalmente el acceso a la instancia SQL
En nuestro caso el servicio SQL no arrancaba debido a un error de inicio de sesión de la cuenta administrada MICROSOFT$DPM$Acct.
La solución temporal consistió en:
- Abrir propiedades del servicio
SQL Server (MSDPMINSTANCE) - Pestaña “Iniciar sesión”
- Cambiar temporalmente la cuenta del servicio a:
Sistema local- o
Servicio de red
- Reiniciar el servicio
Una vez arrancado correctamente, pudimos acceder mediante sqlcmd usando autenticación integrada de Windows.
Comprobación de bases de datos existentes
sqlcmd -E -S localhost\MSDPMINSTANCE -Q "SELECT name FROM sys.databases"
La salida mostraba:
master
tempdb
model
msdb
ReportServer$MSDPMINSTANCE
ReportServer$MSDPMINSTANCETempDB
DPMDB
Eliminación manual de la base de datos DPMDB
sqlcmd -E -S localhost\MSDPMINSTANCE -Q "ALTER DATABASE DPMDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE; DROP DATABASE DPMDB"
Limpieza de trabajos huérfanos de SQL Agent
Listado de jobs:
sqlcmd -E -S localhost\MSDPMINSTANCE -Q "SELECT name FROM msdb.dbo.sysjobs"
En este caso aparecían varios jobs identificados únicamente por GUID.
Eliminación individual:
sqlcmd -E -S localhost\MSDPMINSTANCE -Q "EXEC msdb.dbo.sp_delete_job @job_name='GUID_DEL_JOB'"
Verificación posterior:
sqlcmd -E -S localhost\MSDPMINSTANCE -Q "SELECT name FROM msdb.dbo.sysjobs"
Eliminación de categorías DPM en SQL Agent
Listado:
sqlcmd -E -S localhost\MSDPMINSTANCE -Q "SELECT name FROM msdb.dbo.syscategories WHERE name LIKE 'DPM%'"
Eliminación:
sqlcmd -E -S localhost\MSDPMINSTANCE -Q "EXEC msdb.dbo.sp_delete_category @class='JOB', @name='DPM_XXXX-XXXX-XXXX-XXXX-XXXX000XXXXX'"
Limpieza restante recomendada
Además de SQL, todavía pueden quedar restos manuales.
Grupos locales
Eliminar grupos:
AutoRecoverableSnapShotReaders_*
Desde:
- Administración de equipos
- Usuarios y grupos locales
Usuarios COM distribuidos
Eliminar:
MICROSOFT$DPM$Acct- Equipos protegidos antiguos
Discos de almacenamiento DPM
El desinstalador normalmente no elimina automáticamente el almacenamiento utilizado por DPM.
Antes de formatear o eliminar discos:
- verificar que no contienen otros datos
- comprobar que no existen retenciones pendientes
- validar que no haya otros servidores DPM utilizando esos volúmenes
Para terminar…
Aunque la desinstalación de DPM puede parecer sencilla inicialmente, en entornos reales es relativamente frecuente encontrar:
- instancias SQL huérfanas
- trabajos de SQL Agent residuales
- Reporting Services incompletos
- cuentas administradas inválidas
- almacenamiento no liberado
Realizar una limpieza controlada permite:
- evitar errores posteriores en Windows
- liberar correctamente recursos
- simplificar futuras reutilizaciones del servidor
- y reducir alertas innecesarias en monitorización y eventos del sistema.
