Reparando mi Base de Datos
Vamos a encontrarnos con la sorpresa de una base de datos en modo Sospechosa (Suspect), principalmente cuando SQL Server no es capaz de garantizar la integridad de los datos contenidos en la misma, este es un error el cual puede estar relacionado con problemas de disco duro (es conveniente revisar la salud de los discos), también puede estar relacionadas con interrupciones abruptas de los servicios SQL (Fallos de Corrientes, apagados repentinos de PC, servidores),la mala escritura de datos en el disco duro puede conllevar a este problema, Cuando el Motor de Base de datos coloca una base de datos como sospechosa, bloquea automáticamente el acceso a la misma y de esta manera poder prevenir y asegurar que no se generen más problemas.
Podemos inferir que una base de datos cuando está en modo sospechoso, la integridad de ese archivo esta corrupto (archivo .mdf corrupto)
¿Podemos Revertir el Daño?
¡La respuesta es que con el siguiente método las probabilidades de sacar la base de datos del estado de error son muy altas!
Primero vamos a colocar la base de datos en estado de emergencia.
ALTER DATABASE Nombre_de_tu_db SET EMERGENCY; |
Con ésto la base de datos se pone en estado de sólo lectura y podremos extraer los datos si así deseamos (actividad más que recomendada)
El siguiente paso es colocar la base de datos en modo MONO USUARIO, para poder realizar tareas de mantenimiento e intentar recuperar los datos.
ALTER DATABASE Nombre_de_tu_db SET SINGLE_USER; |
Luego realizamos la reparación de la DB
DBCC CHECKDB (Nombre_de_tu_db, ‘REPAIR_ALLOW_DATA_LOSS’); |
Y si todo ha salido como esperábamos, volvemos a poner en línea la DB
ALTER DATABASE Nombre_de_tu_db MULTI_USER; |