🧱 Cómo mover la base de datos de WSUS (SUSDB) sin corromperla

Mover la base de datos de WSUS (SUSDB) a otra ubicación o disco es una práctica común cuando necesitas liberar espacio, mejorar el rendimiento o evitar corrupción en el almacenamiento original.
A continuación se explican los pasos seguros para hacerlo correctamente, tanto si usas WID (Windows Internal Database) como SQL Server.


🧩 1. Identificar el tipo de base de datos

WSUS puede usar dos tipos de bases de datos:

  • 💾 WID (Windows Internal Database): predeterminada en la mayoría de las instalaciones.
  • 🧠 SQL Server: cuando WSUS usa una instancia externa o dedicada.

Ejecuta el siguiente comando en PowerShell para saber cuál usas:

(Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Update Services\Server\Setup").SqlServerName
  • Si ves MICROSOFT##WID, usas la base de datos interna.
  • Si devuelve otro nombre de servidor o instancia (por ejemplo SQLSERVER01\WSUS o el FQDN), usas SQL Server.

🧮 2. Detener los servicios antes de mover la base

Antes de mover cualquier archivo, detén los servicios de WSUS e IIS para evitar corrupción:

net stop WsusService
net stop IISADMIN
net stop WAS

⚠️ Asegúrate de que no haya conexiones activas antes de manipular los archivos de base de datos.


🧰 3. Mover la base de datos según el tipo

🔹 A) Si usas WID (Windows Internal Database)

Por defecto, los archivos se encuentran en:

C:\Windows\WID\Data\SUSDB.mdf
C:\Windows\WID\Data\SUSDB_log.ldf

Pasos para moverla:

  1. Copia ambos archivos a la nueva ruta (por ejemplo H:\MSQL_DATA y I:\MSQL_LOG).
  2. Abre SQL Server Management Studio (SSMS) y conéctate a WID: \\.\pipe\MICROSOFT##WID\tsql\query
  3. Ejecuta estos comandos SQL: USE master; GO EXEC sp_detach_db 'SUSDB'; GO CREATE DATABASE SUSDB ON (FILENAME = H:\MSQL_DATA\SUSDB.mdf'), (FILENAME = 'I:\MSQL_LOG\SUSDB_log.ldf') FOR ATTACH; GO

💡 Tip: asegúrate de que los archivos .mdf y .ldf estén completamente cerrados antes de moverlos.


🔹 B) Si usas SQL Server

  1. Conéctate a tu instancia SQL en SSMS.
  2. Ejecuta los siguientes comandos para desasociar la base: USE master; ALTER DATABASE SUSDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE; EXEC sp_detach_db 'SUSDB';
  3. Mueve los archivos .mdf y .ldf a su nueva ubicación (por ejemplo H:\MSQL_DATA y I:\MSQL_LOG).
  4. Vuelve a asociarlos: CREATE DATABASE SUSDB ON (FILENAME = ‘H:\MSQL_DATA\SUSDB.mdf’), (FILENAME = ‘I:\MSQL_LOG\SUSDB_log.ldf’) FOR ATTACH;
  5. Finalmente, cambia la base a modo multiusuario: ALTER DATABASE SUSDB SET MULTI_USER;

🔁 4. Asignar permisos y reiniciar servicios

  • Verifica que la cuenta de servicio de WSUS (normalmente NT SERVICE\WsusService y NT SERVICE\MSSQLSERVER) tenga control total sobre la nueva carpeta de la base.
C:\WINDOWS\system32>icacls "H:\MSSQL_DATA" /grant "NT SERVICE\MSSQLSERVER":(OI)(CI)F
processed file: H:\MSSQL_DATA
Successfully processed 1 files; Failed processing 0 file

C:\WINDOWS\system32>icacls "I:\MSSQL_LOG" /grant "NT SERVICE\MSSQLSERVER":(OI)(CI)F
processed file: I:\MSSQL_LOG
Successfully processed 1 files; Failed processing 0 files

C:\WINDOWS\system32>icacls "I:\MSSQL_LOG" /grant "NT SERVICE\WsusService":(OI)(CI)F
processed file: I:\MSSQL_LOG
Successfully processed 1 files; Failed processing 0 files

C:\WINDOWS\system32>icacls "H:\MSSQL_DATA" /grant "NT SERVICE\WsusService":(OI)(CI)F
processed file: H:\MSSQL_DATA
Successfully processed 1 files; Failed processing 0 files
  • Inicia nuevamente los servicios: net start WAS net start WsusService
  • Abre la consola de WSUS para confirmar que carga correctamente.

🧪 5. Verificar integridad de la base

Ejecuta esta comprobación en SQL para validar que la base esté sana:

DBCC CHECKDB('SUSDB');

Si el resultado incluye:

DBCC CHECKDB found 0 allocation errors and 0 consistency errors

6. Realizar postisntall WSUS

Para ello ejecutamos el siguiente comando en una consola como administrador local

& "C:\Program Files\Update Services\Tools\wsusutil.exe" postinstall /servicing

🧯 Recomendaciones finales

🟢 Haz una copia de seguridad antes de mover la base (MDF y LDF).
🟢 Evita copiar en caliente los archivos mientras WSUS está en uso.
🟢 Si WSUS no arranca después del cambio, revisa el log:

C:\Users\<usuario>\AppData\Local\Temp\WSUS_PostInstall_*.log

🚀 Siguiendo estos pasos moverás la base de datos de WSUS sin riesgo de corrupción ni pérdida de configuración.