Saltar al contenido

Diario de un DBA

Problemas y soluciones para SQL Server

Menú
  • Inicio
  • Consultoria gratuita
  • tempdb
  • Curso Azure DP-300
  • Rendimiento
  • Seguridad
  • Sobre Mi
Menú
attatch sql server

Mover bases de datos a otro disco en SQL Server

Publicada el agosto 11, 2024agosto 17, 2024 por solracamo

Contenido del post:

Toggle
  • Mover una base de datos con detach y attach
    • 1.Desmontar una base de datos en SQL Server
    • 2.Montar una base de datos en SQL Server
  • Modificar la ruta de los archivos de una base de datos en SQL Server
    • 1. Poner una base de datos offline en SQL Server
    • 2.Modificar la ruta de los archivos de la base de datos
    • 3.Mover los archivos de la base de datos a su nuevo destino
    • 4.Poner online de nuevo la base de datos en SQL Server
  • Tomar un backup y restaurarlo en un nuevo disco
  • ¿Todavía tienes dudas?

Gestionar los discos duros (y el espacio de estos) es una de las tareas fundamentales a la hora de mantener un servidor SQL Server funcionando correctamente. La falta de espacio no solo puede provocar problemas al ejecutar tareas en las instancias, sino que también puede provocar que estas se detengan por completo y dejen de funcionar si el espacio libre llega a 0. Es por esto que a la hora de hacer configuraciones para nuevos servidores o de revisar las configuraciones de nuestros nuevos clientes, insistimos mucho en que los servidores tengan al menos un disco para cada tipo de archivo de las bases de datos (datos, logs, tempdb) y, si es posible, otro para los backups.

Pensaréis que esto es algo lógico, pero la verdad es que la mayoría de las veces que alguien sin experiencia hace una instalación, básicamente hace «siguiente, siguiente y siguiente» porque… bueno, funciona. Es por esto que hoy os enseñaré cómo mover las bases de datos y sus archivos de un disco a otro y corregir así los problemas de espacio que hayan podido aparecer.

Básicamente existen 3 formas distintas de hacer esto.

Mover una base de datos con detach y attach

Siendo sincero, esta es mi forma favorita y la que siempre recomiendo, ya que se puede hacer directamente usando el asistente sin tener que ejecutar una sola query, aunque siempre recomiendo sacar las queries y luego ejecutarlas.

1.Desmontar una base de datos en SQL Server

El primer paso es desmontar la base de datos. Para esto haremos botón derecho sobre la base de datos > tareas > desmontar/detach. Veréis que la base de datos desaparece de la lista, no entréis en pánico, es normal.

detatch sql server

Ahora podréis mover los archivos de la base de datos al nuevo disco. Si es más de un disco, pues cada archivo a donde corresponda.

2.Montar una base de datos en SQL Server

Una vez que los archivos hayan sido movidos a su nuevo destino, haremos la operación inversa al punto número 1. Botón derecho > montar/attach. Tendréis que seleccionar la base de datos y los archivos necesarios. Una vez que hayáis hecho esto, la base de datos aparecerá en la lista de nuevo.

attatch sql server

Modificar la ruta de los archivos de una base de datos en SQL Server

La otra forma socialmente aceptada de hacer esto. En este caso no «perderemos de vista» la base de datos, pero de igual forma no estará accesible.

1. Poner una base de datos offline en SQL Server

offline database sql server

Fácil y sencillo, tendremos que poner la base de datos en cuestión en modo offline. Botón derecho sobre la base de datos. También podréis hacerlo ejecutando la siguiente query:

ALTER DATABASE NombreBaseDeDatos SET OFFLINE;

2.Modificar la ruta de los archivos de la base de datos

No estoy seguro de si esto puede hacerse cambiando la ruta de los archivos en las propiedades de la base de datos mientras la base de datos está offline, así que aquí os dejo las queries necesarias:

ALTER DATABASE NombreBaseDeDatos 
MODIFY FILE (NAME = NombreLógicoDatos, FILENAME = 'RutaNueva\NombreBaseDeDatos.mdf');

ALTER DATABASE NombreBaseDeDatos 
MODIFY FILE (NAME = NombreLógicoLog, FILENAME = 'RutaNueva\NombreBaseDeDatos_log.ldf');

3.Mover los archivos de la base de datos a su nuevo destino

Pues eso, mueves los archivos de la base de datos a donde sea necesario.

4.Poner online de nuevo la base de datos en SQL Server

El proceso inverso al punto número 1, tanto usando el asistente como usando la query:

ALTER DATABASE NombreBaseDeDatos SET ONLINE;

Y listo, la base de datos ya debería estar funcionando alojada en el nuevo destino.

Tomar un backup y restaurarlo en un nuevo disco

Esta forma, aunque sea totalmente válida, no es muy usada para esta tarea. En caso de que por cualquier razón no podáis ejecutar ninguna de las anteriores, podréis tomar un backup de la base de datos y restaurarla cambiando la ruta de los archivos al hacer el restore. No os voy a explicar este proceso porque podréis encontrarlo en este artículo.

Y listo, estas son las tres formas en las que podréis reorganizar vuestras bases de datos y cuidar un poco más la salud de vuestro servidor SQL Server.

Espero que os haya sido útil.

¿Todavía tienes dudas?

Si este post no ha solucionado tu problema o todavía tienes dudas sobre este o cualquier otro asunto relacionado con SQL Server, puedes enviarme un mensaje o solicitar una consultoría gratuita haciendo clic aquí.

2 comentarios en «Mover bases de datos a otro disco en SQL Server»

  1. Jorge Daniel dice:
    septiembre 28, 2024 a las 2:17 pm

    Muy bueno me sirvió mucho

    Responder
    1. solracamo dice:
      septiembre 28, 2024 a las 2:19 pm

      Me alegro!

      Responder

Deja una respuesta Cancelar la respuesta

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

Consultoria Gratis

¿Tienes un problema o una consulta sobre tu servidor SQL Server? ¿Necesitas hacer algún tipo de mantenimiento o tarea en tu instancia, pero no tienes claro cómo hacerlo?

Envíame un email con tu caso y te contestaré lo antes posible de forma totalmente gratuita.

Puedes utilizar el formulario que encontrarás haciendo click aquí.

Sobre mi

Efectivamente, soy un muñeco de slack con la camiseta de Fernando Alonso en Renault, pero también soy una DBA mid level que vive y trabaja en inglaterra como consultor SQL Server.

El objetivo de este blog es escribir los problemas con los que me he ido encontrando y cómo los solucioné. Si estas soluciones han servido para mí, es posible que también lo hagan para ti, ¿no?

Otras soluciones

  • Recuperar la password de la cuenta SA en SQL Serveroctubre 5, 2024
  • Always On en SQL Server. Todo lo que necesitas saberagosto 24, 2024
  • Recuperar una tabla borrada en SQL Serveragosto 18, 2024
  • Mover bases de datos a otro disco en SQL Serveragosto 11, 2024
  • Comprobar los últimos backups tomados en una instancia SQL Serverjunio 29, 2024
  • Comprobar fragmentación en SQL Serverjunio 23, 2024

Curso Azure DP-300 Gratis

  • Azure DP-300 curso en Español – Parte 1noviembre 17, 2022
  • Crear una máquina virtual con SQL server en Azurenoviembre 17, 2022
  • Crear un servidor SQL Server en Azure.noviembre 22, 2022
  • Azure DP-300 curso en Español – Parte 2noviembre 24, 2022
  • Azure DP-300 curso en Español – Parte 3diciembre 1, 2022
  • Azure DP-300 curso en Español – Parte 4diciembre 14, 2022

Consulta las páginas que nadie consulta:
Privacidad
Cookies

Escríbeme!
Contacto

© 2025 Diario de un DBA
x