Sidebar

Este articulo nos muestra la manera de quitar el estadode suspect a una base de dato en SQL Server 2000.

Una base de datos puede quedar marcada como suspect por las siguientes razones:

Hace falta algúno de los archivos que conforman la base de datos.
No se pudo restaurar la base de datos por completo
La base de datos puede estar corrupta
El archivo de la base de datos estaba en uso cuando se levanto el manejador.
SQL Server no tiene suficiente espacio para recuperar la base de datos al momento de hincar el manejador.
 

Para repara este problema siga los siguientes pasos:

Revisar el log de errores del sistema operativo y de SQL Server para tratar de encontrar el motivo por el cuál la b ase de datos quedo en suspect.

Levanta SQL Server en modo monousuario.

Detener SQL Server
Agregar el parámetro –m
Iniciar SQL Server
Ejecutar sp_resetstatus con el parametro @dbname (ie : sp_resetstatus @dbname = "pubs")

Hacer chequeos de consistencia (CHECKDB, CHECKALLOC, etc)

Hacer algunos queries sobre la base de datos para ver si todavía presenta problemas.

Si no existe algún otro problema reiniciar SQL Server quitando el parámetro -m.

EN caso de que los pasos anteriores no funcionaran, se puede poner la base de datos en mode de emergencia. Al pasar a este modo, nos es posible sacar los datos de la base de datos dañada, aun si la base de datos se encuentra corrupta. Para poder ponerla en modo de emergencia ejecutar los siguientes comandos:

SP_CONFIGURE 'allow updates', 1
RECONFIGURE WITH OVERRIDE
GO
UPDATE master..sysdatabases set status = -32768 WHERE name = 'pubs'
GO
SP_CONFIGURE 'allow updates', 0
RECONFIGURE WITH OVERRIDE

Los datos se pueden extraer por medio de un BCP out y colocarlos en otra base de datos.


Tips BD