Error 823 atachando Base de Datos

02/09/2008 - 05:18 por Deyvis Rojas | Informe spam
Saludos...

Amigos tengo SQL Server 2000 corriendo en Windows server 2003...hoy en la
mañana el equipo se apago debido a una falla electrica.. luego de esto el
servicio MSSQL no arranco... cuando reviso descubro q fue debido a errores
en archivos... asi q regenero
la base de datos master y logo arrancar el motor de base de datos...
cando quiero hacer el atach de base de datos me da el siguiente error:

Error 823, Severity 24, State: 2
I/O error (bad page ID) detected during read at offset 0x00000000074 in file
'E:\DATOS\MI_EMPRESA_DAT.MDF'

Alguien puede atudarme por favor !!


Gracias

Preguntas similare

Leer las respuestas

#1 Deyvis Rojas
02/09/2008 - 05:34 | Informe spam
PD: y no es un error fisico en disco xq ya he copiado el archivo a otro
servidor e intento adjuntar la bd. y nada

AYuda please !!
Respuesta Responder a este mensaje
#2 Rubén Garrigós
02/09/2008 - 17:47 | Informe spam
Hola Deyvis,

Parece que tu fichero de base de datos está corrupto de forma que SQL Server
no es capaz de hacer attach del fichero. ¿Hiciste detach de la base de datos
manualmente?

Lo primero que te recomendaría es que recuperases tu base de datos del
último backup. Es lo más fiable para volver a tener tu base de datos online y
consistente. En el caso que no tengas copias de seguridad puedes probar este
procedimiento de emergencia:

1) Para SQL Server
2) Haz una copia de tu fichero de datos y de log
3) Borra los ficheros de datos y de log
4) Arranca SQL Server
5) Crea una nueva base de datos con el mismo nombre que la anterior y con
los mismos ficheros en la misma ruta que tenías los anteriores.
6) Para SQL Server
7) Sustituye los nuevos ficheros creados al crear la base de datos vacía por
una copia de tus ficheros corruptos.
8) Arranca SQL Server

Con suerte, la base de datos estará marcada como sospechosa. A continuación
puedes hacer un sp_resetstatus 'nombreDeTuBaseDeDatos' y a continuación
pasarle DBCC CHECKDB. Muy probablemente tendrás que habilitar que repare los
errores con pérdida potencial de datos (REPAIR_ALLOW_DATA_LOSS).

Por otra parte también te recomendaría que revisaras tu configuración
hardware pues es probable tengas algún tipo de caché de escritura que esté
volviendo a SQL Server mucho más propenso a incoherencias ante un corte de
suministro eléctrico.

Rubén Garrigós
Solid Quality Mentors

"Deyvis Rojas" wrote:

Saludos...

Amigos tengo SQL Server 2000 corriendo en Windows server 2003...hoy en la
mañana el equipo se apago debido a una falla electrica.. luego de esto el
servicio MSSQL no arranco... cuando reviso descubro q fue debido a errores
en archivos... asi q regenero
la base de datos master y logo arrancar el motor de base de datos...
cando quiero hacer el atach de base de datos me da el siguiente error:

Error 823, Severity 24, State: 2
I/O error (bad page ID) detected during read at offset 0x00000000074 in file
'E:\DATOS\MI_EMPRESA_DAT.MDF'

Alguien puede atudarme por favor !!


Gracias




Respuesta Responder a este mensaje
#3 Deyvis Rojas
02/09/2008 - 20:39 | Informe spam
Saludos...

Luego de Correr:
sp_resetstatus 'nombreDeTuBaseDeDatos'

El resultado fue:

Antes de actualizar la entrada sysdatabases de la base de datos 'PREVISOFT',
modo = 0 y estado = 16 (estado de suspect_bit = 0).
No se actualizó ninguna fila de sysdatabases porque el modo y el estado ya
estaban restablecidos correctamente. No hubo errores y no se realizaron
cambios.

Lego de Correr

DBCC CHECKDB

el resultado fue:

Servidor: mensaje 7995, nivel 16, estado 1, línea 2
Errores de coherencia de la base de datos 'PREVISOFT' en sysobjects,
sysindexes, syscolumns o systypes impiden seguir procesando CHECKDB.
Ejecución de DBCC completada. Si hay mensajes de error, consulte al
administrador del sistema.

Pruebo entonces:
DBCC CHECKDB ('PREVISOFT',REPAIR_ALLOW_DATA_LOSS)

Y el resultado:

Servidor: mensaje 7919, nivel 16, estado 2, línea 2
Instrucción de reparación no procesada. La base de datos debe estar en modo
de usuario único.
Ejecución de DBCC completada. Si hay mensajes de error, consulte al
administrador del sistema.


Levanto el servidor en single user y dice exactamente lo mismo
(sqlserver.exe -c -m)








"Rubén Garrigós" escribió en el
mensaje news:
Hola Deyvis,

Parece que tu fichero de base de datos está corrupto de forma que SQL


Server
no es capaz de hacer attach del fichero. ¿Hiciste detach de la base de


datos
manualmente?

Lo primero que te recomendaría es que recuperases tu base de datos del
último backup. Es lo más fiable para volver a tener tu base de datos


online y
consistente. En el caso que no tengas copias de seguridad puedes probar


este
procedimiento de emergencia:

1) Para SQL Server
2) Haz una copia de tu fichero de datos y de log
3) Borra los ficheros de datos y de log
4) Arranca SQL Server
5) Crea una nueva base de datos con el mismo nombre que la anterior y con
los mismos ficheros en la misma ruta que tenías los anteriores.
6) Para SQL Server
7) Sustituye los nuevos ficheros creados al crear la base de datos vacía


por
una copia de tus ficheros corruptos.
8) Arranca SQL Server

Con suerte, la base de datos estará marcada como sospechosa. A


continuación
puedes hacer un sp_resetstatus 'nombreDeTuBaseDeDatos' y a continuación
pasarle DBCC CHECKDB. Muy probablemente tendrás que habilitar que repare


los
errores con pérdida potencial de datos (REPAIR_ALLOW_DATA_LOSS).

Por otra parte también te recomendaría que revisaras tu configuración
hardware pues es probable tengas algún tipo de caché de escritura que esté
volviendo a SQL Server mucho más propenso a incoherencias ante un corte de
suministro eléctrico.

Rubén Garrigós
Solid Quality Mentors

"Deyvis Rojas" wrote:

> Saludos...
>
> Amigos tengo SQL Server 2000 corriendo en Windows server 2003...hoy en


la
> mañana el equipo se apago debido a una falla electrica.. luego de esto


el
> servicio MSSQL no arranco... cuando reviso descubro q fue debido a


errores
> en archivos... asi q regenero
> la base de datos master y logo arrancar el motor de base de datos...
> cando quiero hacer el atach de base de datos me da el siguiente error:
>
> Error 823, Severity 24, State: 2
> I/O error (bad page ID) detected during read at offset 0x00000000074 in


file
> 'E:\DATOS\MI_EMPRESA_DAT.MDF'
>
> Alguien puede atudarme por favor !!
>
>
> Gracias
>
>
>
>
Respuesta Responder a este mensaje
#4 Deyvis Rojas
02/09/2008 - 21:05 | Informe spam
PD: Olvide mencionar que gracias al procedimiento para
adjuntar la base de datos pero extrañamente no la marco como SUSPECT...
ahora bien... desde la consola
puedo abrir y actualizar todos los datos pero desde las aplicaciones
emite el siguiente error:

Error de Conectividad: [Microsoft][ODBC SQL Driver ] Error en el vinculo de
comunicacion

Pero solo cuando quiero actulizar datos... porque para consultas funciona
perfectamente






"Deyvis Rojas" escribió en el mensaje
news:
Saludos...

Luego de Correr:
sp_resetstatus 'nombreDeTuBaseDeDatos'

El resultado fue:

Antes de actualizar la entrada sysdatabases de la base de datos


'PREVISOFT',
modo = 0 y estado = 16 (estado de suspect_bit = 0).
No se actualizó ninguna fila de sysdatabases porque el modo y el estado ya
estaban restablecidos correctamente. No hubo errores y no se realizaron
cambios.

Lego de Correr

DBCC CHECKDB

el resultado fue:

Servidor: mensaje 7995, nivel 16, estado 1, línea 2
Errores de coherencia de la base de datos 'PREVISOFT' en sysobjects,
sysindexes, syscolumns o systypes impiden seguir procesando CHECKDB.
Ejecución de DBCC completada. Si hay mensajes de error, consulte al
administrador del sistema.

Pruebo entonces:
DBCC CHECKDB ('PREVISOFT',REPAIR_ALLOW_DATA_LOSS)

Y el resultado:

Servidor: mensaje 7919, nivel 16, estado 2, línea 2
Instrucción de reparación no procesada. La base de datos debe estar en


modo
de usuario único.
Ejecución de DBCC completada. Si hay mensajes de error, consulte al
administrador del sistema.


Levanto el servidor en single user y dice exactamente lo mismo
(sqlserver.exe -c -m)








"Rubén Garrigós" escribió en el
mensaje news:
> Hola Deyvis,
>
> Parece que tu fichero de base de datos está corrupto de forma que SQL
Server
> no es capaz de hacer attach del fichero. ¿Hiciste detach de la base de
datos
> manualmente?
>
> Lo primero que te recomendaría es que recuperases tu base de datos del
> último backup. Es lo más fiable para volver a tener tu base de datos
online y
> consistente. En el caso que no tengas copias de seguridad puedes probar
este
> procedimiento de emergencia:
>
> 1) Para SQL Server
> 2) Haz una copia de tu fichero de datos y de log
> 3) Borra los ficheros de datos y de log
> 4) Arranca SQL Server
> 5) Crea una nueva base de datos con el mismo nombre que la anterior y


con
> los mismos ficheros en la misma ruta que tenías los anteriores.
> 6) Para SQL Server
> 7) Sustituye los nuevos ficheros creados al crear la base de datos vacía
por
> una copia de tus ficheros corruptos.
> 8) Arranca SQL Server
>
> Con suerte, la base de datos estará marcada como sospechosa. A
continuación
> puedes hacer un sp_resetstatus 'nombreDeTuBaseDeDatos' y a continuación
> pasarle DBCC CHECKDB. Muy probablemente tendrás que habilitar que repare
los
> errores con pérdida potencial de datos (REPAIR_ALLOW_DATA_LOSS).
>
> Por otra parte también te recomendaría que revisaras tu configuración
> hardware pues es probable tengas algún tipo de caché de escritura que


esté
> volviendo a SQL Server mucho más propenso a incoherencias ante un corte


de
> suministro eléctrico.
>
> Rubén Garrigós
> Solid Quality Mentors
>
> "Deyvis Rojas" wrote:
>
> > Saludos...
> >
> > Amigos tengo SQL Server 2000 corriendo en Windows server 2003...hoy en
la
> > mañana el equipo se apago debido a una falla electrica.. luego de esto
el
> > servicio MSSQL no arranco... cuando reviso descubro q fue debido a
errores
> > en archivos... asi q regenero
> > la base de datos master y logo arrancar el motor de base de datos...
> > cando quiero hacer el atach de base de datos me da el siguiente error:
> >
> > Error 823, Severity 24, State: 2
> > I/O error (bad page ID) detected during read at offset 0x00000000074


in
file
> > 'E:\DATOS\MI_EMPRESA_DAT.MDF'
> >
> > Alguien puede atudarme por favor !!
> >
> >
> > Gracias
> >
> >
> >
> >


Respuesta Responder a este mensaje
#5 Rubén Garrigós
02/09/2008 - 22:10 | Informe spam
Hola Deyvis,

Lo que te está diciendo es que necesitas pasar la base de datos a modo de
usuario único, no la instancia de SQL Server. Es muy importante que consigas
pasar CHECKDB para poder dejar la base de datos en un estado consistente.
Para ello utiliza el siguiente comando ALTER:

ALTER DATABASE tuBaseDeDatos SET SINGLE_USER

Para volver a dejar la base de datos en modo multiusuario:

ALTER DATABASE tuBaseDeDatos SET MULTI_USER

Al comentarme que te da errores al intentar hacer una inserción, es posible
que aparte de esto tengas puesta la base de datos READ_ONLY. Para cambiar
esto:

ALTER DATABASE tuBaseDeDatos SET READ_WRITE

Finalmente te recomendaría también que actualizaras el servidor a SP4, si no
lo tienes actualizado ya, pues corrigue algunos problemas relacionados con
coherencia como el que se indica en este KB:
http://support.microsoft.com/kb/818097

Rubén Garrigós
Solid Quality Mentors

"Deyvis Rojas" wrote:

PD: Olvide mencionar que gracias al procedimiento para
adjuntar la base de datos pero extrañamente no la marco como SUSPECT...
ahora bien... desde la consola
puedo abrir y actualizar todos los datos pero desde las aplicaciones
emite el siguiente error:

Error de Conectividad: [Microsoft][ODBC SQL Driver ] Error en el vinculo de
comunicacion

Pero solo cuando quiero actulizar datos... porque para consultas funciona
perfectamente






"Deyvis Rojas" escribió en el mensaje
news:
> Saludos...
>
> Luego de Correr:
> sp_resetstatus 'nombreDeTuBaseDeDatos'
>
> El resultado fue:
>
> Antes de actualizar la entrada sysdatabases de la base de datos
'PREVISOFT',
> modo = 0 y estado = 16 (estado de suspect_bit = 0).
> No se actualizó ninguna fila de sysdatabases porque el modo y el estado ya
> estaban restablecidos correctamente. No hubo errores y no se realizaron
> cambios.
>
> Lego de Correr
>
> DBCC CHECKDB
>
> el resultado fue:
>
> Servidor: mensaje 7995, nivel 16, estado 1, línea 2
> Errores de coherencia de la base de datos 'PREVISOFT' en sysobjects,
> sysindexes, syscolumns o systypes impiden seguir procesando CHECKDB.
> Ejecución de DBCC completada. Si hay mensajes de error, consulte al
> administrador del sistema.
>
> Pruebo entonces:
> DBCC CHECKDB ('PREVISOFT',REPAIR_ALLOW_DATA_LOSS)
>
> Y el resultado:
>
> Servidor: mensaje 7919, nivel 16, estado 2, línea 2
> Instrucción de reparación no procesada. La base de datos debe estar en
modo
> de usuario único.
> Ejecución de DBCC completada. Si hay mensajes de error, consulte al
> administrador del sistema.
>
>
> Levanto el servidor en single user y dice exactamente lo mismo
> (sqlserver.exe -c -m)
>
>
>
>
>
>
>
>
> "Rubén Garrigós" escribió en el
> mensaje news:
> > Hola Deyvis,
> >
> > Parece que tu fichero de base de datos está corrupto de forma que SQL
> Server
> > no es capaz de hacer attach del fichero. ¿Hiciste detach de la base de
> datos
> > manualmente?
> >
> > Lo primero que te recomendaría es que recuperases tu base de datos del
> > último backup. Es lo más fiable para volver a tener tu base de datos
> online y
> > consistente. En el caso que no tengas copias de seguridad puedes probar
> este
> > procedimiento de emergencia:
> >
> > 1) Para SQL Server
> > 2) Haz una copia de tu fichero de datos y de log
> > 3) Borra los ficheros de datos y de log
> > 4) Arranca SQL Server
> > 5) Crea una nueva base de datos con el mismo nombre que la anterior y
con
> > los mismos ficheros en la misma ruta que tenías los anteriores.
> > 6) Para SQL Server
> > 7) Sustituye los nuevos ficheros creados al crear la base de datos vacía
> por
> > una copia de tus ficheros corruptos.
> > 8) Arranca SQL Server
> >
> > Con suerte, la base de datos estará marcada como sospechosa. A
> continuación
> > puedes hacer un sp_resetstatus 'nombreDeTuBaseDeDatos' y a continuación
> > pasarle DBCC CHECKDB. Muy probablemente tendrás que habilitar que repare
> los
> > errores con pérdida potencial de datos (REPAIR_ALLOW_DATA_LOSS).
> >
> > Por otra parte también te recomendaría que revisaras tu configuración
> > hardware pues es probable tengas algún tipo de caché de escritura que
esté
> > volviendo a SQL Server mucho más propenso a incoherencias ante un corte
de
> > suministro eléctrico.
> >
> > Rubén Garrigós
> > Solid Quality Mentors
> >
> > "Deyvis Rojas" wrote:
> >
> > > Saludos...
> > >
> > > Amigos tengo SQL Server 2000 corriendo en Windows server 2003...hoy en
> la
> > > mañana el equipo se apago debido a una falla electrica.. luego de esto
> el
> > > servicio MSSQL no arranco... cuando reviso descubro q fue debido a
> errores
> > > en archivos... asi q regenero
> > > la base de datos master y logo arrancar el motor de base de datos...
> > > cando quiero hacer el atach de base de datos me da el siguiente error:
> > >
> > > Error 823, Severity 24, State: 2
> > > I/O error (bad page ID) detected during read at offset 0x00000000074
in
> file
> > > 'E:\DATOS\MI_EMPRESA_DAT.MDF'
> > >
> > > Alguien puede atudarme por favor !!
> > >
> > >
> > > Gracias
> > >
> > >
> > >
> > >
>
>



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida