¿Cómo obtener datos de una tabla SQL corrupta?
Resumen: Cuando una tabla de base de datos SQL se corrompe, puede restaurar los datos de la tabla desde la copia de seguridad más reciente. Si la copia de seguridad no funciona, hay algunos métodos que puede utilizar para obtener datos de la tabla SQL corrupta. Intente reparar o reconstruir la tabla, exportar los datos de la tabla de SQL Server mediante la utilidad BCP o utilice una herramienta profesional de recuperación de SQL para restaurar la base de datos y todas sus tablas. Lea en detalle sobre estos métodos.
Una tabla en la base de datos SQL puede corromperse debido a problemas de almacenamiento, como espacio insuficiente en la unidad, sectores defectuosos en la unidad, etc. Además de esto, un ataque de malware, el apagado repentino del sistema, y la eliminación accidental de datos son otros factores que pueden causar la corrupción de la tabla. Ejecutar DBCC CHECKDB puede ayudarle a detectar la corrupción de la tabla. Por ejemplo, un error de corrupción de tabla tiene este aspecto:
Métodos para Obtener Datos de una Tabla SQL Corrupta
Utilice los métodos indicados a continuación en la misma secuencia para extraer todos los datos que pueda de la tabla dañada. Sin embargo, para evitar la pérdida de datos, considere el uso de una herramienta de recuperación de SQL.
Método 1 – Ejecute el comando DBCC CHECKDB con la opción de reparación
Como puede ver en el mensaje de error anterior, repair_allow_data_loss se sugiere como el nivel mínimo de reparación para solucionar el error. Ejecute DBCC CHECKDB con la opción de reparación para la tabla corrupta (como se indica a continuación).
dbcc checkdb (nombre_tabla, reparar_permitir_pérdida_datos) |
Sustituye ‘nombre_tabla’ por el nombre de la tabla SQL problemática. Si esto no funciona, prueba el siguiente método.
Método 2 – Mover datos de una tabla corrupta a una nueva tabla
Nota: Este método sólo funcionará si la base de datos es accesible. Si la base de datos también está afectada, utilice el método 3.
Elimine todos los objetos de la base de datos actual y cree una nueva base de datos con una nueva tabla. Mueva todos los datos excepto la tabla corrupta a la nueva base de datos. Una vez que haya terminado, intente mover los datos de la tabla a la nueva. Los pasos detallados son los siguientes:
- Haga clic con el botón derecho en la base de datos que contiene la tabla dañada y expanda Tablas.
- Haga clic con el botón derecho en la tabla, haga clic en Tabla de script como > DROP Y CREAR A > Nueva ventana del editor de consultas.
- Haga clic en Ejecutar para ejecutar la consulta. Al hacerlo, se eliminará la tabla seleccionada y se volverá a crear.
Si el problema persiste, pase al método siguiente.
Método 3 – Utilizar el programa de copia masiva (BCP) para exportar los datos de la tabla
Bulk Copy Program (BCP) es un programa de línea de comandos que ayuda a extraer datos de una tabla de base de datos SQL y exportarlos a un formato de archivo especificado por el usuario. Básicamente, puede utilizar la utilidad BCP para exportar todos los datos buenos de la tabla dañada a un archivo de datos. A continuación, puede volver a importar los datos en una tabla nueva. Consulte este enlace para saber cómo utilizar la utilidad.
Aunque este método puede funcionar, copiar los datos de una tabla grande e importarlos a una tabla nueva puede llevar largas horas o días.
Mejor alternativa para obtener datos de una tabla SQL corrupta
Una mejor alternativa para recuperar datos de una tabla SQL corrupta es utilizar una herramienta de recuperación de SQL, como Stellar Repair for MS SQL. El software puede ayudar a realizar una recuperación más rápida de tablas de bases de datos SQL. Básicamente, el software repara los archivos de base de datos (MDF y NDF) y recupera todos los objetos, incluidas las tablas, en unos pocos clics. Incluso permite recuperar registros eliminados. A continuación se explica cómo funciona el software:
- Inicie el software después de descargarlo e instalarlo.
- Busque el archivo de base de datos que contiene la tabla corrupta. Si no encuentra el archivo, utilice la opción Buscar para buscarlo.
- Una vez cargado el archivo de base de datos, haga clic en Reparar. En el cuadro de diálogo “Seleccionar modo de análisis” que aparece, elija la opción predeterminada de análisis estándar para un análisis más rápido de las tablas de la base de datos. Si el análisis estándar no funciona, utilice la opción de análisis avanzado.
- Al hacer clic en Aceptar se inicia el proceso de reparación y se muestra una vista previa de todas las tablas y otros objetos recuperables.
- Seleccione todas o determinadas tablas que desee restaurar y haga clic en el icono Guardar del menú Archivo.
- En el cuadro de diálogo “Guardar base de datos”, siga estos pasos:
- Guarde los datos recuperados en formato de archivo MDF, HTML, CSV o XLS. Si ha seleccionado el formato de archivo MDF, elija guardar los datos en una base de datos nueva o activa. A continuación, introduzca los detalles del servidor y la ubicación para guardar los datos.
- Haga clic en Guardar.
- Una vez finalizado el procedimiento de reparación, aparece el mensaje “Guardar finalizado”.
Puede acceder a los datos de la tabla desde el archivo reparado almacenado en la ubicación seleccionada.
Conclusión
Si su tabla de base de datos SQL se ha corrompido, primero puede comprobar la copia de seguridad para obtener los datos de la tabla. En caso de que la copia de seguridad no está disponible o no funciona, siga los métodos discutidos en este post para obtener datos de la tabla corrupta. Sin embargo, la mejor y más fácil manera es utilizar una herramienta de recuperación de SQL para recuperar todos los datos de la tabla.