Cómo mover la base de datos master en SQL Server de forma segura

Cómo mover la base de datos master en SQL Server

La base de datos master es uno de los componentes más críticos del motor de SQL Server. Contiene la información básica sobre la instancia: configuraciones del sistema, rutas de bases de datos, inicio de sesión, endpoints, y mucho más.
Por eso, moverla requiere especial cuidado, ya que un error puede hacer que SQL Server no arranque.

En este artículo te mostraré cómo mover master de forma segura, paso a paso, sin poner en riesgo tu servidor.

https://youtu.be/9QmEf8HVzqA

🧩 ¿Qué es la base de datos master?

La base de datos master forma parte de las bases del sistema de SQL Server (junto con msdb, model y tempdb). Su función principal es almacenar la información estructural de la instancia:

  • Nombres y ubicaciones de las demás bases de datos
  • Inicios de sesión y configuraciones de seguridad
  • Configuración de archivos, rutas, endpoints
  • Información sobre configuraciones globales

📌 Si la base master se corrompe o no se encuentra, SQL Server no podrá iniciar.

🛑 Requisitos previos y precauciones

Antes de mover master, asegúrate de cumplir con lo siguiente:

✔️ Tener una copia de seguridad completa del sistema
✔️ Ser administrador del servidor
✔️ Tener acceso al SQL Server Configuration Manager
✔️ La carpeta de destino ya debe existir y tener permisos de lectura/escritura para la cuenta del servicio de SQL Server
✔️ El servidor no debe estar en producción al momento del cambio

⚠️ No intentes mover master desde SQL Server Management Studio (SSMS). Se debe cambiar desde los parámetros de arranque del motor.

🚀 Paso a paso para mover la base de datos master

1. 📍 Verifica la ruta actual

Abre SSMS (SQL Server Management Studio) y ejecuta la siguiente consulta para saber dónde está actualmente la base master:

SELECT name, physical_name 
FROM sys.master_files
WHERE database_id = DB_ID('master');

Guarda las rutas para referencia.

2. ⚙️ Modifica los parámetros de inicio

  1. Abre SQL Server Configuration Manager.
  2. Ve a SQL Server Services → clic derecho sobre tu instancia → Propiedades.
  3. En la pestaña Startup Parameters, ubica los parámetros -d y -l:
    • -d indica la ruta del archivo de datos .mdf
    • -l indica la ruta del archivo de log .ldf
  4. Cámbialos para que apunten a la nueva ubicación:
-dD:\SQLData\SystemDBs\master.mdf  
-lD:\SQLData\SystemDBs\mastlog.ldf

⚠️ No borres otros parámetros como -e (log de errores)

3. 🔁 Deten el servicio de SQL Server

Desde el mismo Configuration Manager, reinicia la instancia.

✅ Si todo está bien, el servicio arrancará normalmente y podrás conectarte con SSMS.

4. 📁 Copia los archivos a la nueva ubicación

Ejemplo:

Copia:
C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\master.mdf
C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\mastlog.ldf

Destino:
D:\SQLData\SystemDBs\master.mdf
D:\SQLData\SystemDBs\mastlog.ldf

Asegúrate de copiar, no mover aún.

5. 🧪 Verifica que el cambio fue exitoso

Una vez conectado, ejecuta de nuevo:

SELECT name, physical_name 
FROM sys.master_files
WHERE database_id = DB_ID('master');

La ruta debe coincidir con la nueva ubicación que configuraste.

6. 🧹 Elimina los archivos antiguos

Una vez que verifiques que todo funciona correctamente, puedes eliminar los archivos antiguos para liberar espacio.

7. 🧹 Inicia el servicio de SQL Server.

Después de borrar los archivos ya puedes iniciar el servicio nuevamente, Todo esto tienes que avisarlo con tiempo a las áreas correspondientes que hacen uso de la base de datos para que puedan detener aplicaciones, detener tareas en el servidor, etc.

❌ ¿Qué hacer si SQL Server no inicia?

Si el servicio no arranca, puede ser por:

🔸 Rutas mal escritas en los parámetros
🔸 La carpeta de destino no existe
🔸 Falta de permisos para la cuenta del servicio
🔸 Archivos corruptos o bloqueados por antivirus

📌 En ese caso, revisa el archivo de error (sqlservr.log) en la carpeta de logs, vuelve a Configuration Manager, corrige las rutas, y reinicia.

✅ Conclusión

Mover la base de datos master no es algo que se haga todos los días, pero puede ser necesario para:

  • Optimizar el uso del disco
  • Cumplir políticas de almacenamiento empresarial
  • Reorganizar archivos de sistema

Hazlo solo si es necesario y siempre con respaldo. Un error aquí puede dejar tu servidor fuera de línea.

Script de Información a Nivel de Base de Datos en SQL Server

Monitorización del Espacio Utilizado en Tablas SQL: Un Script Esencial para DBAs

SQL Server está causando un alto uso de CPU

Filegroups en SQL Server: Más Allá del Grupo de Archivos Primario

Análisis de una Sentencia de Bloqueo en SQL Server

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.