lunes, 6 de enero de 2020

Base de Datos SQL SERVER modo Sospechoso (SUSPECT)

En ocasiones, como DBA's nos encontramos con la sorpresa de que una de nuestras bases de datos aparecen con un símbolo amarillo con la leyenda Sospechoso o Suspect, lo mejor para este caso es tener un plan de respaldos y restaurar, sin embargo, muchas ocasiones puede solucionarse sin mayores problemas y aquí les daremos la solución. Comenzaremos por mencionar las causas de que una base de datos sea marcada como Sospechosa.


¿Que origina que una base de datos pase a modo sospechoso?

Pues bien, una base de datos puede pasar a modo SOSPECHOSO o SUSPECT por varias razones.


  • Alguna falla de los discos duros
  • Falla en los drivers de los discos duros
  • Falla en el suministro de energía (que se apague de botonazo, o bien se vaya la luz).
  • Que SQL SERVER deje de tener acceso exclusivo a los archivos de datos y otros procesos que los utilizan
Todo lo anterior generan páginas incompletas que derivan en páginas de datos corruptas. Cuando se alcanzan las 1000 páginas corruptas la base de datos se auto protege y su estatus se marca con SOSPECHOSO.

Hay varias maneras avanzadas de realizar la consulta, pero nos enfocaremos en una manera básica. Estos comandos repararan la base de datos permitiendo pérdida de datos, por lo cual lo más recomendable es utilizar el respaldo, aunque es mur probable que no exista dicha pérdida, hay que estar preparados por si las dudas



EXEC sp_resetstatus [YOURDATABASE];
ALTER DATABASE [YOURDATABASE] SET EMERGENCY
DBCC checkdb([YOURDATABASE])
ALTER DATABASE [YOURDATABASE] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
DBCC CheckDB ([YOURDATABASE], REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE [YOURDATABASE] SET MULTI_USER







Hasta aquí el post, el primero del año, espero publicar este año más seguido, espero haya sido de su agrado y utilidad, ayúdenme compartiendo, comentando o dando clic a algún anuncio que les interese.

Saludos

No hay comentarios.:

Publicar un comentario

Reiniciar valor de un campo IDENTITY - SQL SERVER

Buenas tardes queridos lectores, antes que nada, hay que dejar en claro lo que es un campo identity en base de datos El campo identity e...