none
¿Cómo comprobar si un registro está dañado? RRS feed

  • Pregunta

  • Hola, buenas noches.

    Tengo un registro que no obedece las instrucciones indicadas y me parece que está dañado o corrompido. ¿Hay alguno forma de comprobarlo?

    No encuentro la manera de regenerar la base de datos.

    Gracias y saludos.

    sábado, 3 de diciembre de 2016 21:05

Respuestas

  • Ángelroso,

    ¿Intentas ejecutar CHECKDB o CHECKTABLE?. Por el mensaje de error pareciera que intentas ejecutar CHECKDB. Debes de tener cuidado con el uso de los parámetros de dichos comandos, has uso de ellos sólo si estas seguro de lo que haces, evita el prueba-error. Yo propuse ejecutar CHECKTABLE.

    Sin embargo, antes de echar mano a medidas correctivas debes de asegurarte que el problema existe (ya que en lo personal considero raro que sólo un registro esté corrupto) y luego de eso tomar acciones.

    ¿Has intentado actualizar la fila -desde Management Studio- que mencionas no lo hace desde la aplicación?


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta Ángelroso lunes, 5 de diciembre de 2016 15:56
    sábado, 3 de diciembre de 2016 22:22

Todas las respuestas

  • Ángelroso,

    • ¿Por registro te refieres a una fila de una tabla de base de datos? 
    • ¿Qué operación intentas realizar que te hace sospechar que "está dañado"?

    Podrías evaluar la integridad de las páginas que componen la tabla:

    DBCC CHECKTABLE ('dbo.NombreTabla');  
    GO

    Sería conveniente conocer lo que intentas realizar (las instrucciones que según mencionas "no obedece")


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    sábado, 3 de diciembre de 2016 21:15
  • Hola, Williams.

    Gracias por contestar.

    Me saca el error siguiente:

    Msg 2520, Level 16, State 5, Line 1
    No se encuentra la base de datos 'dbo'. La base de datos no existe o se quitó antes de que una instrucción intentara usarla. Compruebe si la base de datos existe consultando la vista de catálogo sys.databases.

    El caso es que en System Databases no está la base de datos ni las tabla

    El registro sí es una fila de una tabla que que no se actualiza cuando hago modificaciones en un datagrisview, solo no se actualiza esa fila.

    Quisiera asegurarme de que la fila está dañada para en  caso contrario seguir comprobando la aplicación.

    Gracias y saludos.


    sábado, 3 de diciembre de 2016 21:54
  • Ángelroso,

    ¿Intentas ejecutar CHECKDB o CHECKTABLE?. Por el mensaje de error pareciera que intentas ejecutar CHECKDB. Debes de tener cuidado con el uso de los parámetros de dichos comandos, has uso de ellos sólo si estas seguro de lo que haces, evita el prueba-error. Yo propuse ejecutar CHECKTABLE.

    Sin embargo, antes de echar mano a medidas correctivas debes de asegurarte que el problema existe (ya que en lo personal considero raro que sólo un registro esté corrupto) y luego de eso tomar acciones.

    ¿Has intentado actualizar la fila -desde Management Studio- que mencionas no lo hace desde la aplicación?


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta Ángelroso lunes, 5 de diciembre de 2016 15:56
    sábado, 3 de diciembre de 2016 22:22
  • Hola, Williams.

    He ejecutado el que tú me has puesto, el CHECKTABLE.

    Desde Management Studio sí que cambia valores.

    Ya voy a seguir mirando la aplicación, a ver si encuentro algún error.

    Gracias y saludos.


    sábado, 3 de diciembre de 2016 22:34
  • Hola, Williams.

    Tenías razón. Un único registro no podía ser el problema. Después de darla vueltas, opté por borrar la fila problemática y ahora es otra la que no graba los cambios y es siempre la primera fila del datagridview.

    Cierro aquí el tema y lo abro en Visual Net ya que es más apropiado, pues el error no es por la base de datos.... supongo.

    Gracias y saludos.

    lunes, 5 de diciembre de 2016 16:04
  • Saludos, si el registro usa un total de una pagina es posible que solo el registro este corrupto, ademas de otras maneras existe una practica a buscar que cada row sea de 8k para evitar bloqueos (no muy buena) asi que no me sorprenderia del caso.

    lunes, 5 de diciembre de 2016 16:26