Cómo solucionar problemas y reparar una dañada de Access 2002 o posterior de la base de datos

Seleccione idioma Seleccione idioma
Id. de artículo: 283849 - Ver los productos a los que se aplica este artículo
Principiante: Requiere conocimientos de la interfaz de usuario en equipos de usuario único.

Este artículo se aplica únicamente a las bases de datos de Microsoft Access (.mdb).

Para obtener una versión de Microsoft Access 97 de este artículo, consulte 279334.
Para obtener una versión de Microsoft Access 2000 de este artículo, consulte 209137.
Expandir todo | Contraer todo

En esta página

Resumen

Hay varias cosas que pueden ocurrir dentro y fuera de Access, que puede dejar el archivo de base de datos dañado (dañado). Los síntomas de una base de datos dañada pueden variar desde # eliminado que aparece en algunos registros hasta que usted se no se puede abrir uno de los objetos de la base de datos, puede que no puede abrir el archivo de base de datos en Access por completo. La utilidad Compactar y reparar en Microsoft Access es una herramienta útil para intentar optimizar o intentando reparar los archivos de base de datos de Microsoft Access. Este artículo describe esta utilidad de Access y ofrece alternativas adicionales para intentar reparar bases de datos dañadas. En este artículo también proporciona información acerca de lo que puede causar las bases de datos dañado.

Nota Microsoft Jet, el motor de base de datos que se utiliza en Microsoft Access, es un sistema de base de datos de uso compartido de archivo. Cuando se utiliza Microsoft Jet en un entorno multiusuario, varios procesos de cliente son mediante la lectura, escritura y bloqueo de operaciones en una base de datos compartida. Puesto que varios procesos de cliente son lectura y escritura a la misma base de datos y Jet no utiliza un registro de transacciones (como hacen los sistemas de base de datos más avanzados, tales como SQL Server), no es posible evitar confiable cualquiera y todos los daños en la base de datos. Si necesita un sistema de base de datos para ejecutar 24 horas al día, siete días de la semana en un entorno multiusuario, Microsoft recomienda que utilice un sistema de base de datos de cliente/servidor true admite transacciones duraderas, como Microsoft SQL Server.

Más información

Aunque los pasos descritos en este artículo suelen dar resultados satisfactorios en recuperación de base de datos de archivos dañados, para proteger sus datos, Microsoft recomienda crear una copia de seguridad copia del archivo base de datos tan a menudo posible.

Descripción del compactar y reparar utilidad

Compactar una base de datos

Cuando compacta una base de datos, el proceso compacto reclamar espacio no utilizado en una base de datos creada por el objeto y el registro de eliminaciones. Lo hace creando una nueva base de datos de destino y mediante la copia cada objeto en la base de datos antigua a la nueva base de datos. Si elige compactar la base de datos en el nombre de base de datos original en lugar de a una nueva base de datos, el proceso de compactar crea una base de datos temporal, exporta todos los objetos de la base de datos original a la base de datos temporal, quita la base de datos original y cambia el nombre la base de datos temporal al nombre de la base de datos original.

Ésta es una lista de acciones que realiza el proceso compacto:
  • Que reorganiza las páginas de una tabla de forma que residan en páginas adyacentes de la base de datos. Esto mejora el rendimiento porque la tabla deja de estar fragmentada a través de la base de datos.
  • Reclamar espacio creado por el objeto y el registro de eliminaciones. Cuando se eliminan objetos o registros de la base de datos, el espacio que ocupaban se marca como disponible para agregar en ella nuevos objetos o registros. Sin embargo, el tamaño de la base de datos nunca se reduce a menos que compactar la base de datos. Es conveniente compactar con regularidad las bases de datos en las que se agregan, eliminan y actualizan objetos o registros frecuentemente.
  • Se restablece el incremento de los campos Autonumérico modo que el valor siguiente asignado será uno más que el valor más alto de los registros restantes. Por ejemplo, si han eliminado todos los registros de la base de datos después de compactar la base de datos, el valor del campo Autonumérico será 1 cuando se agrega el siguiente registro. Si el mayor valor Autonumérico restante en la base de datos es 50, tras compactar la base de datos, el valor Autonumérico campo será ser 51 cuando se agregue el siguiente registro. Tenga en cuenta que esto se cumple si los registros que contienen valores superiores a 50 se agregaron anteriormente pero se eliminaron antes de la compactación.
  • Vuelve a generar las estadísticas de tabla que se utilizan en el proceso de optimización de consulta. Estas estadísticas pueden quedarse obsoletas a lo largo del tiempo. Esto suele suceder si las transacciones se deshacen o si la base de datos no se cierra correctamente debido a de una pérdida de energía inesperado o porque el equipo está apagado antes de un programa que utiliza Microsoft Jet ha tenido un cambio de cierre completamente.
  • Indicadores todas las consultas de modo que se recompilarán la próxima vez que se ejecuta la consulta. Esto es importante porque las estadísticas de la base de datos pueden cambiar y una consulta compilada anteriormente puede presentar un plan de consulta incorrecto.
reparar una base de datos

El proceso de reparación intenta arreglar sólo las tablas, las consultas y los índices de la base de datos. No se intenta reparar formularios dañados, informes, macros o módulos.

Lo que debe asegurarse de antes de ejecutar la utilidad de reparación y compactar

Antes de ejecutar la utilidad Compactar y reparar en una base de datos, asegúrese de que de los siguientes:
  • Asegúrese de que tiene suficiente espacio de almacenamiento en el disco duro para el original y las versiones compactadas del acceso a base de datos. Esto significa que debe tener suficiente espacio de almacenamiento libre para al menos dos veces el tamaño de la base de datos Access en esa unidad. Si necesita liberar espacio, elimine archivos innecesarios de esa unidad o, si es posible, mueva la base de datos a una unidad que tenga más espacio libre.
  • Asegúrese de que tiene permisos Open/Run y Open Exclusive para la base de datos de Access. Si es propietario de la base de datos, asegúrese de establecer estos permisos. Si no posee la base de datos, póngase en contacto con su propietario para averiguar si puede obtener estos permisos.
  • Asegúrese de que ningún usuario tiene abierta la base de datos de Access.
  • Asegúrese de que la base de datos no se encuentra en un recurso compartido de red de sólo lectura o tiene su atributo de archivo establecido es de sólo lectura.

Pasos para intentar reparar una base de datos dañada

Los pasos siguientes describen un método general que puede utilizar para intentar reparar una base de datos dañada:
  1. Hacer una copia del archivo de base de datos (.mdb) dañado de manera que tenga una copia de seguridad.
  2. Elimine el archivo .ldb si está presente. Debe cerrar el archivo .mdb correspondiente antes de eliminar el archivo .ldb.

    El archivo .ldb se utiliza para determinar qué registros se bloquean en una base de datos compartida y quién los bloquea. Si la base de datos está abierta para usarla en modo compartido, el archivo .ldb se crea con el mismo nombre que la base de datos correspondiente(.mdb). Por ejemplo, si abre la base de datos de ejemplo Neptuno.mdb para uso compartido en la carpeta C:\Msoffice\Access, automáticamente se crea un archivo llamado Neptuno.ldb en la misma carpeta. El archivo .ldb se elimina automáticamente una vez que el último usuario ha salido de la base de datos con estas dos excepciones: cuando el último usuario no tiene eliminar permisos en la carpeta que contiene el archivo .mdb o cuando la base de datos está dañado. El archivo .ldb contiene una lista de usuarios que tienen abierta la base de datos.
  3. Ejecute la utilidad Compactar y reparar. Para ello, siga estos pasos:
    1. Si la base de datos está abierta, ciérrela.
    2. En el menú Herramientas , elija Utilidades de base de datos y, a continuación, haga clic en Compactar y reparar base de datos .
    3. En el cuadro de diálogo base de datos a compactar , seleccione el archivo que desea compactar y, a continuación, haga clic en Compactar .
    4. En el cuadro de diálogo Compactar la base de datos en , escriba un nuevo nombre de archivo y, a continuación, haga clic en Guardar .

      Si la compactación y reparación no se realiza correctamente, recibirá un mensaje que lo indica. Esto significa que el daño es tan grave que no se puede corregir.
  4. Si no consiguió recuperar la base de datos dañada siguiendo los pasos anteriores, pruebe a crear una base de datos nueva e importe los objetos, uno a uno, de la antigua a la nueva. A continuación, volver a crear las relaciones. Esta técnica resuelve los problemas de las tablas del sistema dañadas de la base de datos.

    Nota No puede importar páginas de acceso de datos con el Asistente para importar. En su lugar, abra una página de acceso de datos existente en la base de datos nueva. Para ello, siga estos pasos:
    1. En la ventana, haga clic en páginas bajo objetos .
    2. Haga clic en nuevo .
    3. En el cuadro de diálogo Nueva página de acceso de datos , haga clic en página Web existente y, a continuación, haga clic en Aceptar .
    4. En la ventana Buscar página Web , busque la ubicación de la página de acceso de datos.
  5. Si el daño está en una tabla y los pasos anteriores no han recuperado la tabla, pruebe lo siguiente:
    1. En Microsoft Access, exporte la tabla a un archivo ASCII (texto delimitado). Para obtener más información consulte el tema "Exportar datos o base de datos de objetos." en la Ayuda de Microsoft Access.
    2. Elimine cualquier relación asociada con esta tabla y, a continuación, elimine la tabla de la base de datos.
    3. Compactar la base de datos.
    4. Vuelva a crear la tabla y cualquier relación que tuviera.
    5. Examine el archivo ASCII con un procesador de texto para buscar datos erróneos o extraños, y quite los registros que los contengan. Guarde el archivo en formato de archivo de texto ASCII.
    6. Vuelva a importar el archivo ASCII en la tabla recién creada. Para obtener más información acerca de este tema, busque el Microsoft Access índice ayuda la palabra "delimitar" y, a continuación, ver el tema "importar o vincular datos y objetos".
    7. Re-Enter los registros que estuviera obligado a eliminar.
  6. Si el daño está en un formulario o informe, puede ser el daño en el formulario o el informe o en uno o más controles en el formulario o el informe. Se puede eliminar el formulario o informe e importarlo de la copia de seguridad de su base de datos o utilizar una de las opciones siguientes:
    • Si el daño está en el formulario o informe en Sí, crear un nuevo formulario o informe y, a continuación, copie los controles desde el formulario o informe original.
    • Si el daño está en un control en el formulario o el informe, cree un nuevo formulario o informe y volver a crear los controles en el nuevo formulario o informe. Es mejor volver a crear todos los controles, ya no hay ninguna forma para indicar qué controles están dañados.
  7. Si el daño está en una macro o un módulo, puede ser el daño en la macro o el propio módulo o en el contenido de la macro o el módulo. Puede eliminar la macro o en el módulo y importarlo desde la copia de seguridad de la base de datos o utilizar una de las siguientes opciones:
    • Si el daño está en la macro o el propio módulo, cree una nueva macro o módulo y copie el contenido de la macro o módulo original.
    • El daño podría afectar a incrustados en el módulo de caracteres de que no son ASCII. Guarde el módulo como archivo de texto, quite cualquier dato dañado o extraño y vuelva a cargar el archivo de texto en un módulo nuevo.
    • Si el daño está en el contenido de la macro o módulo, debe crear una nueva macro o módulo y, a continuación, volver a crear el contenido de la macro o módulo original.
Si no se puede reparar la base de datos con estos pasos, probablemente sea irreparable. Si éste es el caso, debe restaurar la última copia de seguridad base de datos o volver a crear la base de datos.

Como última alternativa, algunos consultores pueden proporcionar servicio de reparación de bases de datos de Microsoft Access. Dado que este servicio es muy especializado, la manera más eficaz de encontrar a un consultor es publicar un mensaje en el grupo de noticias de Internet "Third Party and User Groups" de Microsoft Access ", en esta dirección:
Microsoft.public.Access.3rdpartyusrgrp
Para obtener información adicional acerca de Internet de Microsoft Access los grupos de noticias, consulte en contacto con el siguiente artículo en Microsoft Knowledge Base: Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
287756Campo Autonumérico no se restablece después de compactar una base de datos

¿Por qué pueden dañarse los archivos .mdb

Existen tres razones principales por qué un archivo .mdb resulte dañado, como sigue:
  • Operación de escritura interrumpida
  • Hardware de red defectuoso
  • Abrir y guardar archivos .mdb en otros programas

Operación de escritura interrumpida

Siempre correctamente debe salir acceso si hace clic en Salir o Cerrar base de datos en el menú archivo . Si una base de datos abiertos y escribir los datos cuando Access se cierra anormalmente, el motor de base de datos Jet puede marcar la base de datos como sospechoso o dañado. Esto puede ocurrir si desactiva manualmente el equipo sin Windows salir primero o si se apaga. Otras situaciones pueden ocurrir que no cerrar Access, pero que puede interferir con Jet escribiendo datos en el disco mientras la base de datos está abierta. Esto puede suceder, por ejemplo, cuando las redes experimentan colisiones de datos o al funcionamiento de las unidades de disco. Si se producen algunas de estas interrupciones, Jet marca la base de datos como posiblemente dañada.

Cuando Jet inicia una operación de escritura, establecen un indicador y a continuación, restablece el indicador cuando la operación. Si la operación de escritura se interrumpe, la marca permanece. Cuando intenta abrir la base de datos, Jet determina que el indicador está establecido e informa de que la base de datos está dañada. En la mayoría de los casos, este datos en la base de datos no está realmente dañados, pero las indicador establecer alertas Jet que pueden haberse producido daños. En casos como éste, compactar o reparar la base de datos (o ambos) normalmente puede restaurar la base de datos. Existen tres formas para determinar el usuario y la estación de trabajo responsables de marcar el archivo como sospechoso. Con Microsoft Visual Basic para aplicaciones en Access, puede generar una lista de usuarios que han iniciado sesión en una base de datos específica.
208449Grupos de noticias Microsoft Access disponibles en Internet
Para obtener más información acerca de cómo hacerlo, consulte la sección "Cómo determinar qué usuarios y estaciones de trabajo que provocan el archivo que se marcó como a sospechosa" más adelante en este artículo.

Hardware de red defectuoso

A veces pueden producirse daños sin el motor de base de datos Jet está implicado. Por ejemplo, hardware de red defectuoso puede hacer que un archivo dañado. La causa puede residir en una o varias conexiones de la cadena de hardware existente entre el equipo que alberga la base de datos y el equipo donde está abierta la base de datos. Esta lista incluye, pero no está limita a las tarjetas de interfaz de red, cableado de red, los enrutadores y concentradores.

Archivos .mdb que no se puede restaurar mediante el uso de compactación, reparación o Jetcomp normalmente indica daños basado en hardware. Los daños producidos por el hardware suelen ser recurrentes hasta que se repara o se sustituye el componente causante del problema.

Abrir y guardar archivos .mdb en otros programas

No hay ninguna forma para recuperar un archivo .mdb que se ha abierto y, a continuación, guardado en un programa diferente. Por ejemplo, podría abrir y guardar un archivo .mdb en Microsoft Word, pero si desea hacerlo, el archivo .mdb no podría recuperarse nunca, excepto desde una copia de seguridad. Si abre accidentalmente un archivo .mdb en otra aplicación, asegúrese de no guardarlo. Realmente finalidad es no abrir un archivo .mdb en otra aplicación porque si lo hace, todo se verá una serie aparentemente aleatoria de caracteres.

Cómo determinar qué usuarios y estaciones de trabajo están provocando que el archivo para ser marcada como sospechosa

Cuando soluciona problemas para determinar qué está causando la base de datos dañados, quizás tenga que ver quién está registrado en la base de datos. Con Microsoft Visual Basic para aplicaciones en Access 2002 o Access 2003, puede obtener acceso a una lista de usuarios que han iniciado sesión en una base de datos específica.
Para obtener más información acerca de cómo hacerlo, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
285822Cómo determinar quién está registrado a una base de datos con Microsoft Jet UserRoster en Access 2002 o Access 2003

Pasos que puede seguir para evitar daños

Para evitar daños en la base de datos:
  • Evitar los cortes de alimentación mientras se escribe en las bases de datos. Cortes de alimentación durante la escritura de la base de datos podrían quedar en un estado de sospechoso la base de datos.
  • Evitar errores en las conexiones de red.
  • Evitar la terminación anómala de conexiones de Microsoft Jet, como pérdida de energía, cierre manual, que cierre Administrador de tareas de la aplicación y así sucesivamente.
  • Cuando está programando, cierre todos los objetos DAO y ADO que ha abierto. Algunos ejemplos son Recordset , QueryDef , TableDef y objetos de base de datos .
  • Errores fatales del sistema provocan casi siempre el terminación anómala. Si su base de datos es propensa a errores graves, debe solucionarlos antes de la base de datos pasa a ser demasiado dañada para abrir o recuperar.Para obtener más información acerca de cómo hacerlo y ejemplo de código que puede utilizar, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
    285822Cómo determinar quién está registrado en una base de datos con Microsoft Jet UserRoster en Access 2002
    Para obtener más información sobre los errores fatales del sistema, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
    294301ACC2002: Cómo solucionar errores de graves del sistema en Access 2002 que se ejecuta en Microsoft Windows 2000
  • Compacte la base de datos a menudo.
  • No ejecute IPX en Microsoft Windows NT Server que Jet se encuentran las bases de datos a través de la red y el cliente es Microsoft Windows 95 con IPX/SPX. En su lugar, ejecute TCP-IP en Windows NT Server y una pila de protocolo dual de IPX y TCP-IP en el cliente Win95. (Windows NT a Windows NT con IPX/SPX no se causan el problema, ni le Novell a cualquier cliente.)
  • Evite un gran número de operaciones de apertura y cierre de un bucle (más de 40.000 sucesivas operaciones de apertura y cierre podrían causar daños).

Nota especial en las bases de datos convertidas

En las versiones de Access anteriores a Access 2002, si se han producido errores mientras se convierte una base de datos a la versión actual, no había no fácil determinar qué objetos se han visto afectados y posiblemente contiene daños evidentes.

Cuando Microsoft Access 2002 o posterior errores detecta al convertir un archivo de Access, puede ver un resumen de estos errores abriendo la tabla de errores de conversión en el nuevo archivo de Access. La conversión de tabla de errores contiene las columnas siguientes:

tipo de objeto. Tipo de objeto de base de datos que Access ha detectado un error, o "Base de datos" Si Access ha detectado un error que no es específico para un tipo determinado de objeto.

nombre de objeto. Nombre del objeto donde Access ha detectado un error. Si Access detecta un error de compilación durante la conversión, sin embargo, el nombre del módulo que contiene el error no se especifica.

Descripción del error: Si es necesario, presione MAYÚS+F2 para ver la descripción completa del error.

Referencias

Para obtener más información sobre cómo reparar bases de datos, haga clic en Ayuda de Microsoft Access en el menú Ayuda , escriba Reparar en el Ayudante de Office o el Asistente para Ayuda y, a continuación, haga clic en Buscar para ver el tema. Para obtener información adicional acerca de cómo solucionar las bases de datos de versiones anteriores de Access, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
209137Cómo solucionar problemas o reparar una base de datos Jet 4.0 dañada
279334Cómo reparar una base de datos de Jet 3.5 dañada
109953Cómo solucionar problemas o reparación dañados Jet 3.0 y anteriores de bases de datos
284152Cómo solucionar errores fatales del sistema en Access 2002 cuando se ejecuta en Windows Millennium

Propiedades

Id. de artículo: 283849 - Última revisión: lunes, 07 de mayo de 2007 - Versión: 6.4
La información de este artículo se refiere a:
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
Palabras clave: 
kbmt kbcorrupt kbtshoot kbhowto KB283849 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 283849

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com