¿Qué es la ADVERTENCIA: El nombre de la base de datos <el nombre de la base de datos> es SOSPECHOSO? Probablemente haya visto una base de datos marcada como SOSPECHOSA en los SSM y no sabe lo que representa. ¡Lea el artículo a continuación para obtener más detalles sobre esto!
¿Qué es ADVERTENCIA: El nombre de la base de datos es SOSPECHOSO?
A veces podemos enfrentarnos a una situación crítica, debido a que nuestra base de datos SQL Server entra en Modo Sospechoso. En ese momento, la base de datos ya no se puede usar y no se puede hacer ningún trabajo.
La razón principal por la que la base de datos entra en modo sospechoso es porque el grupo de archivos principal se ha dañado y la base de datos no se puede recuperar durante el inicio del servidor SQL.
Además, la base de datos puede entrar en el estado SOSPECHOSO por varias otras razones, que pueden incluir:
- un mal funcionamiento del sistema que podría ser causado por un apagado incorrecto del servidor de base de datos
- un archivo de registro dañado o un archivo MDF dañado
- en caso de que no haya más espacio en el disco
- SQL Server no puede completar una operación de avance o retroceso
- limitaciones en términos de espacio para sistemas de archivos FAT32 y otras razones
Para reparar la base de datos y recuperarse de este estado, tendrá que hacer los siguientes pasos:
- Comenzaremos por cambiar el estado de la base de datos ejecutando el procedimiento almacenado sp_resetstatus
TestDB de EXEC sp_resetstatus'
- Establecer la base de datos en modo «Emergencia»
MODIFICAR LA BASE DE DATOS TestDB SET EMERGENCIA;
- Revise la base de datos para detectar posibles inconsistencias
DBCC checkdb ("TestDB");
- En caso de que encuentre algún error durante la fase DBCC, coloque la base de datos inmediatamente en MODO DE USUARIO ÚNICO con la ayuda de la consulta a continuación:
ALTER DATABASE TestDB SET SINGLE_USER CON REVERSIÓN INMEDIATA;
- Además, en este punto, por razones de seguridad, le recomendamos que haga una copia de seguridad de la base de datos
- Después de terminar de hacer una copia de seguridad de la base de datos, debe proceder a ejecutar la siguiente consulta. Pero recuerde que mientras usa la siguiente consulta, con el parámetro REPAIR_ALLOW_DATA_LOSS, está ejecutando una operación unidireccional que reparará su base de datos, pero todas las acciones que se realizan durante este proceso no se pueden revertir. No hay solución para volver a un estado anterior de la base de datos, por lo que recomendamos encarecidamente que realice la copia de seguridad que sugerimos en el punto anterior
DBCC CheckDB ('TestDB', REPAIR_ALLOW_DATA_LOSS);
- La última consulta que debe ejecutar es establecer la base de datos en modo MULTIUSUARIO
ALTER DATABASE TestDB SET MULTI_USUARIO;
- El paso final es actualizar el servidor de la base de datos y comprobar que la conectividad con la base de datos funciona. Después de este punto, los usuarios deberían tener la posibilidad de conectarse a la base de datos. En caso de que haya alguna pérdida de datos puede restaurar la base de datos que usted copia de seguridad previamente