
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.
🧩 ¿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
- Abre SQL Server Configuration Manager.
- Ve a SQL Server Services → clic derecho sobre tu instancia → Propiedades.
- 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
- 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