Cómo reparar una base de datos corrupta en SQL Server [2022 guide]

  • La pérdida de datos es un problema común, pero le mostraremos cómo reparar una base de datos dañada en SQL Server.
  • Este problema puede originarse desde una simple sobrescritura o eliminación accidental de archivos hasta infecciones de virus y una configuración incorrecta.
  • El mal funcionamiento de la unidad de almacenamiento también puede producir daños en los archivos y eso incluye su base de datos SQL.

Por supuesto, es frustrante descubrir una base de datos corrupta en su servidor SQL por razones obvias. No puede acceder a la información y su trabajo se detiene por completo.

Sin embargo, hay muchas maneras de solucionar este problema con soluciones manuales o mediante el uso de una herramienta de terceros inteligente y dedicada llamada Recovery Toolbox for SQL Server.

Pero antes de comenzar con la solución de problemas, entendamos e investiguemos un poco por qué ocurre este problema en primer lugar.

¿Qué es un SQL Server y cómo podemos identificar la base de datos?

Un servidor SQL es un sistema de base de datos, desarrollado por Microsoft, que otras aplicaciones utilizan para administrar, almacenar y recuperar datos.

Hay tres tipos de archivos para almacenar y administrar datos en un servidor SQL: archivos primarios (con extensión .MDF), archivos secundarios (con extensión .NDF) y archivos de registro (con extensión .LDF).

Estamos particularmente interesados ​​en esos archivos MDF porque son los que proporcionan el almacenamiento de la base de datos.

¿Por qué una base de datos se corrompe en un servidor SQL?

Hay muchas razones posibles por las que la base de datos de su servidor SQL puede corromperse, desde una simple sobrescritura o eliminación accidental de archivos hasta infecciones de virus y una configuración incorrecta.

Repasemos algunas de las causas más comunes de este problema:

  • Sobrescribir un archivo – Si escribe sobre un archivo MDF existente por error, corre el riesgo de corromper la base de datos
  • Intentando desbloquear la base de datos SQL – Si olvidó la contraseña de SQL y la ingresó incorrectamente demasiadas veces, esto puede conducir a la corrupción del servidor SQL
  • Fallo en su unidad de almacenamiento – No hace falta decir que un mal funcionamiento de la unidad puede producir daños en los archivos, incluida la base de datos.
  • Problemas con la configuración de la base de datos SQL – Si la configuración de SQL cambia, eso puede deshabilitar el acceso a los archivos MDF
  • Infección vírica – Este es un problema común para cualquier corrupción de archivos, no solo los archivos de la base de datos SQL e incluso si elimina el virus utilizando los mejores antivirus, desafortunadamente, aún podría perder algunos datos.
  • Errores internos de SQL – Aunque es una solución sólida, aún puede tener sus errores que pueden causar la corrupción de archivos MDF

Dicho esto, siga nuestra guía paso a paso para aprender a reparar un archivo de base de datos SQL en un servidor SQL.

¿Cómo puedo reparar una base de datos dañada en SQL Server?

Icono de nota
NOTA

Nota: Antes de comenzar nada, realice una copia de seguridad de la biblioteca SQL.

1. Reinicie el servidor SQL

  1. Abra una terminal e ingrese el siguiente comando para detener el servidor SQL: parada systemctl mysql
  2. Para verificar el estado del servidor SQL, escriba el siguiente comando y presione Entrar: estado mysql.servicio
  3. Ahora reinicie SQL Server ejecutando el siguiente comando en la terminal: reiniciar mysql.servicio

A veces, puede resolver el problema simplemente reiniciando SQL Server. Por supuesto, no funciona siempre, pero es tan fácil de realizar que no estaría de más hacerlo.

2. Reparar una mesa dañada

  1. Inicie el servidor SQL.
  2. Escribe el siguiente comando y presiona Enter para ejecutarlo: CHECK TABLE nombre_de_la_tabla;
  3. Si detecta algún problema con la tabla, escribe el siguiente comando y presiona Enter: REPAIR TABLE nombre_de_la_tabla;

La TABLA DE REPARACIÓN lo ayudará a reparar una tabla y puede hacer lo mismo con cualquier otra tabla dañada, pero de esta manera, podría perder algunos datos de la tabla.

3. Utilice el comando mysqlcheck

  1. Abra una terminal y escriba o pegue el siguiente comando para llegar a la carpeta de la base de datos y presione Entrar: cd /var/lib/mysql
  2. Ahora, escriba el siguiente comando para probar una tabla y presione Entrar. Asegúrate de reemplazar y con los nombres reales: mysqlcheck
  3. Si recibe el mensaje de que la tabla está dañada, escriba el siguiente comando para repararlo y presione Entrar: mysqlcheck -r

4. Utilice los comandos ALTER TABLE

  1. Escriba el siguiente comando para verificar su tipo de tabla (en nuestro caso, es una tabla MyISAM): SHOW CREATE TABLE ;
  2. Para reconstruir la tabla, escriba el siguiente comando y presione Entrar: ALTER TABLE ENGINE = MyISAM;
  3. Si tiene una base de datos InnoDB, escriba el siguiente comando en su lugar: ALTER TABLE ENGINE = InnoDB;

5. Repare la base de datos usando Recovery Toolbox for SQL Server

  1. Vaya a la página dedicada de Recovery Toolbox for SQL Server y haga clic en el Descargar botón.
  2. Instale la aplicación después de elegir el idioma y aceptar el acuerdo de licencia.
  3. Hacer clic Finalizar para iniciar la herramienta de reparación de SQL Server MDF.
  4. Seleccione el corrupto *.mdf archivo haciendo clic en el icono de la carpeta de origen.
  5. Una vez que lo haya seleccionado, haga clic en el Próximo botón.
  6. Ahora podrá obtener una vista previa de los datos que se pueden recuperar de la base de datos corrupta de Microsoft SQL Server. Haga clic en Siguiente en la ventana de la herramienta de recuperación de MDF de Microsoft SQL para iniciar el proceso.
  7. Ahora, solo necesita elegir el método de exportación de datos. Puedes guardarlo como secuencias de comandos SQL al disco e incluso ejecutar el script SQL directamente en la base de datos.
  8. Finalmente, elige qué datos guardar y haz clic en Iniciar la recuperación.

Entonces esto es cómo reparar archivos de base de datos del servidor SQL con esta sencilla y eficaz herramienta. Como puede ver, hará el trabajo mucho más rápido.

Él Herramienta de recuperación del servidor MS SQL también lo ayudará si enfrenta los siguientes problemas con la base de datos MDF:

  • Error 5172 del servidor SQL de Microsoft – La propiedad TAMAÑO DEL ARCHIVO es incorrecta
  • SQL Server detectó un error de E/S basado en consistencia lógica – Es una suma de comprobación incorrecta, también conocida como error 824 en SQL Server
  • La página del mapa de asignación de índices (IAM) está señalada por el puntero siguiente de una página de IAM – Es un problema bastante común.
  • Error de E/S, ID de página incorrecta, detectado al leer en el desplazamiento 0x###### en el archivo FileName.mdf – Esto no parece muy frecuente, pero aún puede repararlo con esta pequeña herramienta
  • El archivo parece haber sido truncado por el error del sistema operativo – Muy probablemente causado por un problema de configuración
  • Ocurrió un error en el ID de registro de registro – Ocurre durante el rehacer de una operación registrada en la base de datos

En realidad, con Recovery Toolbox for SQL Server repare todos los objetos de archivos .mdf corruptos, incluidos tipos de datos, datos de celdas de tablas, vistas, procedimientos almacenados, funciones personalizadas, activadores, índices, claves primarias y externas, restricciones y otros.

Y la gran ventaja es que puede exportar los datos reparados directamente a Microsoft SQL Server sin problemas desde la aplicación.

¡Eso es todo! Ahora sabe cómo reparar su base de datos de SQL Server manualmente o utilizando una herramienta dedicada.

Si conoce métodos adicionales o tiene alguna pregunta, los esperamos en la sección de comentarios a continuación.