Cómo mantener una base de datos Jet 4.0 en buenas condiciones

Resumen

De forma predeterminada, Microsoft Jet es el motor de base de datos que se utiliza en Microsoft Access. Este artículo describe las prácticas recomendadas que puede utilizar para ayudar a mantener la base de datos Jet en buenas condiciones. Este artículo describe las bases de datos que se ejecutan en un entorno de usuario único y en un entorno multiusuario.

Mejores prácticas

En esta sección se aplica a todas las bases de datos de Jet si usted es el único usuario de la base de datos o si varios usuarios utilizan la base de datos a través de una red.

Compruebe que está instalado el service pack más reciente del sistema operativo

Instale el service pack más reciente del sistema operativo.

Para comprobar que tiene el service pack más reciente instalado para su sistema operativo, visite el siguiente sitio Web de Microsoft:

Si está en un entorno de red, asegúrese de que el servidor de archivos de red tiene el service pack más reciente del sistema operativo. Esto garantiza que el servidor de archivos de red tiene las actualizaciones más recientes para el redirector de red y el sistema de archivos.

Compruebe que está instalado el service pack más reciente para Microsoft Jet

Para obtener más información acerca de cómo obtener la versión más reciente del motor de base de datos de Jet 4.0, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

239114 cómo obtener el service pack más reciente para el motor de base de datos de Microsoft Jet 4.0

Si trabaja en un entorno de red, debe instalar el service pack más reciente para Microsoft Jet en todos los equipos cliente. No es necesario instalar el service pack de Microsoft Jet en el servidor de archivos de red, a menos que el servidor de archivos de red también ejecuta una o más aplicaciones que utilicen Microsoft Jet.

Utilice el diseño de la base de datos eficaz

Una base de datos eficazmente diseñada mejora el rendimiento de la base de datos. Una base de datos eficazmente diseñada también ayuda a reducir el riesgo de daños en el archivo.

Para obtener más información acerca de las prácticas recomendadas para diseñar una base de datos, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

289533 dónde encontrar información acerca de cómo diseñar una base de datos de Microsoft Access

Utilice un formato de archivo de base de datos Jet coincidente para la versión del motor de base de datos Jet que se utiliza

Para obtener el mejor rendimiento y estabilidad, utilice una base de datos de formato de Microsoft Jet 4.0 cuando se utiliza un cliente Microsoft Jet 4.0. Del mismo modo, utilice una base de datos de formato de Microsoft Jet 3.0 cuando utilice un cliente Microsoft Jet 3.5.

La tabla siguiente enumeran los formatos de Jet actualmente disponibles. La siguiente tabla enumera también las dll de traducción se utiliza para comunicarse con el formato de Jet cuando se utiliza un cliente de Jet 4.0:

   Access versionJet format    Translator dll used
------------------------ -------------------
Access 2.0 Jet 2.0 Msrd2x40.dll
Access 95 Jet 3.0 Msrd3x40.dll
Access 97 Jet 3.0 Msrd3x40.dll
Access 2000 Jet 4.0 none
Access 2002 Jet 4.0 none
Access 2003 Jet 4.0 none

La siguiente tabla muestra que Microsoft Access 95 y Access 97 crean un archivo de base de datos de formato de Microsoft Jet 3.0. Access 2000, Access 2002 y Office Access 2003 crean un archivo de base de datos de formato de Microsoft Jet 4.0. Cuando se utiliza un cliente Microsoft Jet 4.0, utilice un archivo de formato de base de datos de Microsoft Jet 4.0 para evitar el uso de una dll de traducción. Si utiliza a un cliente Microsoft Jet 3.5, recomendamos que utilice una base de datos de formato de Microsoft Jet 3.0.

La siguiente tabla enumera más frecuente clientes de motor de base de datos de Microsoft Jet y la versión de motor de base de datos Jet asociada que utiliza el cliente de motor de base de datos de Jet:

Client applicationJet Database Engine usedRecommended Jet database format
------------------------- ------------------------ --------------------------------
Access 2.0Jet 2.0Jet 2.0
Access 95Jet 3.0Jet 3.0
Access 97Jet 3.5Jet 3.0
Access 2000Jet 4.0Jet 4.0
Access 2002Jet 4.0Jet 4.0
Office Access 2003Jet 4.0Jet 4.0
DAO 3.0Jet 3.0Jet 3.0
DAO 3.5Jet 3.5Jet 3.0
DA0 3.6Jet 4.0Jet 4.0
Microsoft.JET.OLEDB.3.51Jet 3.5Jet 3.0
Microsoft.Jet.OLEDB.4.0`Jet 4.0Jet 4.0
Access ODBC DriverJet 4.0Jet 4.0

Nota: El controlador de ODBC de Microsoft Access que se incluye con MDAC 2.0 o versiones anteriores utiliza Microsoft Jet 3.5. El controlador ODBC de Microsoft Access que se incluye con MDAC 2.1 y MDAC 2.5 utiliza Microsoft Jet 4.0. MDAC 2.6 y versiones posteriores no incluyen el controlador ODBC de Microsoft Access en absoluto.

En determinadas situaciones, como cuando tiene aplicaciones de Jet antiguas y las aplicaciones más recientes de Jet que comparten el mismo archivo de base de datos, no puede utilizar el formato de archivo de base de datos Jet más reciente. Esto es porque los motores de Jet antiguos no pueden leer ni escribir en un formato de archivo de base de datos Jet más reciente. Por lo tanto, debe utilizar el formato antiguo y utilice las DLL de traducción.

No utilice palabras reservadas ni caracteres reservados para nombres de objetos y nombres de campo

No utilice palabras reservadas ni caracteres reservados al dar nombre a objetos y cuando dé nombre a los campos en la base de datos. Palabras reservadas o caracteres reservados que se utilizan solos o en combinación con otras palabras pero rodeadas de espacios pueden dañar la base de datos.



Para obtener más información acerca de las palabras reservadas ni caracteres reservados en Microsoft Access, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

286335 palabras reservadas en Microsoft Access

Compactar periódicamente la base de datos Microsoft Jet

Si realiza cambios frecuentes en la base de datos, se pueden fragmentar las partes de la base de datos. Por lo tanto, ejecutar periódicamente la utilidad Compactar base de datos en Access. Si no tiene una copia de Access, puede compactar la base de datos mediante la utilidad JetComp.

Para obtener más información acerca de cómo obtener la utilidad JetComp para Microsoft Jet 4.0, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

295334 utilidad jet compact disponible en el centro de descarga

¿Con qué frecuencia compactar la base de datos depende de cuánto cambien los datos. Si los datos no cambian con frecuencia, no es necesario compactar con frecuencia. Si hay cambios frecuentes en la base de datos, compacte la base de datos con más frecuencia. Aunque no hay ninguna regla formal sobre la frecuencia con compacta la base de datos, se recomienda que se compacte la base de datos con regularidad.

Los párrafos siguientes describen el proceso que utiliza Microsoft Jet para compactar la base de datos.

Para obtener más información acerca de cómo compactar una base de datos, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

288631 desfragmentar y compactar base de datos para mejorar el rendimiento

El motor de base de datos de Microsoft Jet trata un archivo de base de datos de Access como una serie de bloques de 4096 bytes. Esto es similar a la forma en que un sistema de archivos típico trata la información del disco duro. El conjunto completo de registros de una tabla de Microsoft Jet se almacena mediante una serie de estos bloques. Cada bloque apunta al bloque siguiente. Cada bloque puede contener uno o más registros. Contiene el número de registros un bloque depende de cuántos campos y cuántos datos están en cada registro. Cuando se agregan o se eliminan registros de la tabla, los bloques se fragmentan en el archivo de base de datos.

Al compactar una base de datos Jet, los bloques se desfragmentan y cada tabla se coloca en un intervalo contiguo de bloques. Esto mejora el rendimiento de lectura, escritura y de rendimiento a la tabla.

Índices en una base de datos de Access también se almacenan en bloques de 4096 bytes. Índices pueden fragmentarse igual que los registros de la tabla se pueden fragmentar.

Cuando se compacta la base de datos Jet, Jet actualiza la tabla estadísticas que están almacenadas en la base de datos. Una estadística de tabla importante es el número de registros de una tabla. Si el número de registros en las estadísticas de tabla difiere en gran medida el número real de registros de la tabla, el rendimiento puede no ser tan buena. Por ejemplo, si las estadísticas de tabla indican que hay un número pequeño de registros en la tabla, el optimizador del motor de base de datos Jet no utilizará ningún índice de la tabla cuando el motor de base de datos Jet realiza búsquedas o combinaciones. Si hay un número pequeño de registros, esto es realmente más eficaz. Pero si hay muchos registros, puede ser ineficaz. Por lo tanto, si la base de datos tiene un gran número de registros que se agregan, eliminan y actualizado, compacta la base de datos con más frecuencia.


Microsoft Jet también vuelve a optimizar las consultas almacenadas en la base de datos cuando se compacte la base de datos. Esto refleja las estadísticas de tabla actualizadas. Por lo tanto, se puede mejorar el rendimiento de consulta almacenada al compactar la base de datos.

Copia el archivo de base de datos Microsoft Jet regularmente

Definir una programación de copia de seguridad que corresponda a los datos que puede permitirse perder. Por ejemplo, si usted puede permitirse perder un día de datos, copia de seguridad diaria. Si usted puede permitirse perder una semana de datos, hágala semanalmente. Una copia de seguridad completa de la base de datos es la mejor manera de asegurarse de que puede recuperar el archivo de base de datos de Microsoft Jet si se producen daños.

Importante: Si está en un entorno de red, debe cerrar todos los clientes de Microsoft Jet antes de hacer copia de seguridad del archivo de base de datos de Microsoft Access. Si no lo hace, puede crear un archivo de copia de seguridad con datos incompletos o incoherentes. Pruebe los archivos de copia de seguridad con regularidad para asegurarse de que los archivos de copia de seguridad son correctas.

Compruebe que está instalado el service pack más reciente para su versión de Office

Periódicamente, Microsoft proporciona service packs y actualizaciones para Microsoft Office. Instalar el service pack más reciente o Office update para su versión de Office para mejorar el rendimiento y la interoperabilidad con otros programas. Utilizar el sitio Web de Microsoft Office Update para instalar automáticamente todas las actualizaciones y los service packs más recientes. Para que el sitio Web de Office Update detecte las actualizaciones que debe instalar en su equipo, visite el siguiente sitio Web de Microsoft:Después de que el sitio Web de Office Update detecta las actualizaciones más recientes que necesite, recibirá una lista de actualizaciones recomendadas para su aprobación. Haga clic en Iniciar instalación para instalar las actualizaciones.


Recomendaciones adicionales para entornos de red

Microsoft Jet es un sistema de base de datos de uso compartido de archivos. Un sistema de base de datos de uso compartido de archivos significa que el procesamiento del archivo tiene lugar en el cliente. Cuando se utiliza una base de datos con uso compartido de archivos, como Microsoft Jet, en un entorno multiusuario, varios procesos de cliente utilizan operaciones de bloqueo de archivos en el mismo archivo compartido, archivo de escritura y lectura de archivo a través de una red. Si no se puede completar un proceso, el archivo podría quedar en un estado incompleto o dañado. Un proceso no puede completarse por cualquiera de las siguientes razones:
  • Cuando un cliente se detiene inesperadamente
  • Cuando se interrumpe una conexión de red a un servidor


Microsoft Jet no está pensado para su uso con aplicaciones de servidor de alta tensión, aplicaciones de servidor de alto nivel de simultaneidad o 24 horas al día, siete días a la semana aplicaciones de servidor. Esto incluye aplicaciones de servidor, como aplicaciones Web, aplicaciones de comercio, aplicaciones transaccionales y aplicaciones de servidor de mensajería. Para estos tipos de aplicaciones, la mejor solución es cambiar a un sistema verdadero de base de datos basada en servidor, como Microsoft Data Engine (MSDE) o Microsoft SQL Server. Cuando utiliza Microsoft Jet en aplicaciones de tráfico intenso, como Microsoft Internet Information Server (IIS), puede experimentar cualquiera de los siguientes problemas:
  • Daños en la base de datos
  • Problemas de estabilidad, como el bloqueo de IIS
  • Error súbito o error persistente del controlador al conectarse a una base de datos válida que requiere reiniciar el servicio IIS
Las secciones siguientes contienen las recomendaciones a seguir cuando comparta un Microsoft Jet o un archivo de base de datos de Microsoft Access en un servidor de archivos de red.


No utilice la redirección de carpetas en Windows Vista

Hay un problema conocido en el que puede dañar una base de datos de Jet cuando se guarda la base de datos de Jet en una carpeta que utiliza la característica de redirección de carpetas de Windows Vista en la versión de lanzamiento original de Windows Vista.

Para evitar este problema, debe actualizar a Windows Vista Service Pack 1, o no debe guardar una base de datos de Jet en una carpeta que utiliza la característica de redirección de carpetas de Windows Vista. Para obtener el último service pack de Windows, visite el siguiente sitio Web de Microsoft:No hemos observado este problema con las funciones de redirección de carpetas de Windows Server 2003, Windows XP o de Windows 2000.

Para obtener más información acerca de redirección de carpetas, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

232692 característica de redirección de carpetas en Windows

Para obtener más información acerca de redirección de carpetas, visite el siguiente sitio Web:

Bloqueo oportunista, también conocido como oplocks, en el servidor de archivos de red


El bloqueo oportunista puede aumentar el riesgo de daños en la base de datos Jet cuando un archivo está compartido por dos o más clientes en un servidor de archivos de red. Este problema se aplica a Microsoft Windows NT 4.0, Microsoft Windows 2000 y servidores de archivos de Novell que admitan el bloqueo oportunista. Este problema también sucede con clientes que ejecutan Microsoft Windows NT 4.0, Microsoft Windows 2000 o Microsoft Windows XP y que se conecten a un servidor de archivos que admite el bloqueo oportunista.


Nota: los clientes que ejecutan Microsoft Office Access 2003 deben tener Windows 2000 SP3 o posterior o Windows XP o un sistema operativo posterior.



Para evitar este problema, debe instalar Windows 2000 Service Pack 3 (SP3) o posterior en el servidor de archivos de Windows 2000 donde se encuentra el archivo de base de datos de Access. A continuación, instale el service pack más reciente de Windows en cada equipo cliente de Windows que se conecta al servidor de archivos de Windows 2000.

Para obtener el último service pack de Windows, visite el siguiente sitio Web de Microsoft:Si está utilizando Windows NT 4.0 o si no desea instalar Windows 2000 SP3 o posterior, puede deshabilitar el bloqueo oportunista para evitar el problema.


Importante: Si deshabilita el bloqueo oportunista, esto puede afectar negativamente al rendimiento de otras aplicaciones. Si tiene alguna duda al respecto, póngase en contacto con el soporte técnico de Microsoft Windows.

Para obtener más información acerca de cómo deshabilitar el bloqueo oportunista en Windows NT 4.0, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

129202 explicación del bloqueo oportunista en Windows NT

Para obtener más información acerca de cómo deshabilitar el bloqueo oportunista en Windows 2000, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

296264 configuración del bloqueo oportunista en Windows

Para deshabilitar el bloqueo oportunista en un servidor de archivos de Novell, recomendamos que se comunique con el soporte técnico de Novell. Para obtener información acerca de su fabricante de hardware, visite el siguiente sitio Web:Microsoft proporciona información de contacto de terceros para ayudarle a encontrar soporte técnico. Esta información de contacto puede cambiar sin previo aviso. Microsoft no garantiza la exactitud de esta información de contacto de terceros.

Cuestiones a considerar cuando se comparte una base de datos Microsoft Jet

Se recomienda que comparta un archivo de base de datos de Microsoft Jet se almacena en un recurso compartido de archivos de Microsoft Windows 95, un recurso compartido de archivos de Microsoft Windows 98 o en un recurso compartido de archivos de Microsoft Windows Millennium Edition (Me) con clientes de Windows NT o con clientes Windows 2000.

Si tiene un entorno con una mezcla de equipos en una red con algunos equipos que ejecutan Windows 95, Windows 98 o Windows Millennium Edition y en algunos equipos que ejecutan Windows NT o Windows 2000, y comparte la base de datos con otros usuarios de la red, se recomienda almacenar el archivo de base de datos y que comparta el archivo de base de datos en un servidor Windows NT o en Windows 2000 server con el bloqueo oportunista deshabilitado.


Pueden producirse daños si tiene equipos cliente con Windows NT o en equipos cliente de Windows 2000 que comparten un archivo almacenado en un recurso compartido de archivos de Windows 95, un recurso compartido de archivos de Windows 98 o un recurso compartido de archivos de Windows Millennium Edition. Este problema puede producirse incluso si el cliente de Windows NT o el cliente de Windows 2000 tiene el bloqueo oportunista deshabilitado. Este problema está siendo investigado. Publicaremos más información sobre este artículo cuando dicha información esté disponible.

Nota: los clientes que ejecutan Microsoft Office Access 2003 deben tener Windows 2000 SP3 o posterior o Windows XP o un sistema operativo posterior.

Utilizar un servidor de archivos robusto

Asegúrese de que tiene un servidor de archivos robusto que pueda controlar el número de usuarios y las solicitudes que se realizan en el archivo de base de datos Microsoft Jet. Además, asegúrese de que no se exige demasiado al servidor de archivos con el manejo de otros procesos, como actuar como controlador de dominio de Windows, un servidor de Exchange o un SQL Server.

También se produce un problema si reinicia el servidor para corregir un problema con otro servicio importante, como el servicio de correo. También surgen problemas al reiniciar el servidor después de instalar nuevo software o aplica un service pack o una revisión y se olvida de que la base de datos de Microsoft Jet está siendo compartida en el servidor. Cuando se reinicia el servidor de archivos, se produce una interrupción inesperada de las conexiones de cliente a la base de datos. Esto puede causar daños en la base de datos. Para evitar la conexión del cliente se interrumpa, todos los clientes deben cerrar la base de datos antes de que se reinicie el servidor de archivos o antes de software se aplican las actualizaciones al servidor de archivos.

También se debe colocar un servidor de archivos en una ubicación segura donde el servidor de archivos no pueda apagarse accidentalmente. El servidor debe tener una fuente de alimentación ininterrumpida (SAI) para ayudar a proteger de las interrupciones intermitentes o fluctuaciones de potencia. El servidor de archivos de red también debe tener lo siguiente:
  • Unidades de disco duro de alto rendimiento
  • Una tarjeta de red de alta calidad
  • Mucha memoria RAM para asegurarse de que el servidor puede controlar la carga

Comprobar la conectividad de red

Asegúrese de que tiene una red estable y rápida con conectividad de red estable con el servidor de archivos de red. Se recomienda que no utilice Microsoft Jet sobre una WAN, a través de una conexión de módem o a través de FTP o cualquier otro tipo de transporte de red menos confiable. Dado que Microsoft Jet es un sistema de base de datos de uso compartido de archivos, cualquier transporte de red que no sea confiable aumenta las posibilidades de un cliente interrumpida. Esto puede aumentar la posibilidad de dañar la base de datos.

Minimizar el número de conexiones realizadas desde cada cliente

Se recomienda que diseñe cada cliente para que utilice una conexión a una base de datos Microsoft Jet. Cada conexión a una base de datos Jet representa a un cliente independiente a la base de datos, incluso cuando estas conexiones proceden del mismo proceso de cliente.

Para optimizar la E/S de red y el rendimiento y reducir la carga multiusuario en la base de datos back-end, diseñe la aplicación cliente utilizar una única conexión a la base de datos Jet. Comparta esta conexión sobre varios conjuntos de registros. Esto tiene la ventaja adicional de evitar los retrasos de lectura y escritura en la aplicación cliente. De forma predeterminada, hay un retraso de cinco segundos entre escribir un valor en la base de datos y ser capaz de leer actualizado cuando se escribe y se lee en dos conexiones Jet diferentes. Esto es cierto incluso si las dos conexiones residen en el mismo proceso de cliente. Si utiliza una única conexión, evitará este problema.

Utilizar ADO para tener acceso a una base de datos Microsoft Jet

Cuando tiene acceso a una base de datos Microsoft Jet desde ADO, recomendamos que utilice el proveedor OLE DB de Microsoft Jet en lugar del controlador ODBC de Microsoft Access. Para obtener más información acerca de este tema, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

299974 utilizar Microsoft Jet con IIS

Mover a un motor de base de datos transaccional para obtener integridad adicional

A diferencia de un motor de base de datos basada en archivos, un motor de base de datos basada en servidor, como Microsoft SQL Server, procesa todas las solicitudes de varios clientes para una base de datos en el servidor. El servidor realiza un seguimiento de estas solicitudes en un registro de transacciones. Si no se puede atender una solicitud, el servidor devuelve la solicitud o no procesa la solicitud. Esto reduce el riesgo de que la base de datos queda en un estado incompleto o dañado.

Antes de actualizar un motor de base de datos basada en archivos a un motor de base de datos basada en servidor, debe tener en cuenta las ventajas y las desventajas de hacerlo.

Para obtener más información acerca de cómo elegir el motor de base de datos más apropiado para sus fines, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

168549 elegir las notas de base de datos adecuado disponible en el centro de descarga

Nota: Aunque este documento está escrito para Access 97, este artículo también se aplica a Jet 4.0 y Access 2000.

Actualizar tablas vinculadas después de actualizar la base de datos back-end

Siempre que una base de datos de Jet contenga vínculos a un servidor de base de datos back-end ODBC y lo actualice a una versión posterior principal, debe actualizar todas las tablas vinculadas dentro de la base de datos Jet. Por ejemplo, actualizar el servidor de SQL Server 2000 a SQL Server 2005.

Referencias

Para obtener más información acerca de qué hacer si la base de datos ya está dañada, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

306204 cómo solucionar daños en una base de datos de Microsoft Access


304701 cómo solucionar daños en una base de datos de Microsoft Access


824271 descripción de problemas de daños en una base de datos de Office Access 2003



Para obtener más información acerca de otros temas que se tratan en el artículo anterior, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:

200300 cómo sincronizar escrituras y lecturas con el proveedor OLE DB de Jet y ADO

283849 cómo solucionar problemas y reparar una base dañada de Access 2002 o posterior

299974 utilizar Microsoft Jet con IIS

296264 configuración del bloqueo oportunista en Windows

129202 explicación del bloqueo oportunista en Windows NT

304408 cómo cerrar remotamente una aplicación de Access personalizada

300216 cómo mantener una base de datos Jet 4.0 en buenas condiciones

Propiedades

Id. de artículo: 303528 - Última revisión: 01/22/2017 - Revisión: 2

Comentarios