MS Access mantiene los bloqueos en las filas de la tabla por tiempo indefinido

Estamos utilizando MS Access como la GUI para uno de nuestros sistemas, pero nos encontramos con un problema en el que Access tiene bloqueos en las tablas o filas subyacentes, lo que evita que el servidor SQL ejecute consultas de actualización en estos datos. Esto es problemático porque mientras nuestra interfaz de acceso solo requiere acceso de solo lectura a estos datos, tenemos sistemas implementados que actualizan los datos a intervalos regulares. Estas operaciones de actualización fallan (o se retrasan indefinidamente) debido a que Access ya tiene bloqueos en los datos.

Este problema se ilustra abriendo el frontend de Access y utilizando el DMV sys.dm_tran_locks para mostrar los bloqueos en los datos. Los pasos que tomo para reproducir el problema son:

Abra la interfaz de acceso. Esto muestra una forma desplazable con varios miles de registros.Utilice los DMV del servidor SQL para mostrar los bloqueos en los datos. Esto muestra 5 bloqueos de tipo "objeto" con el modo de solicitud de "IS" (Intención compartida). El uso de sys.dm_exec_requests muestra el estado del comando como "suspendido" y el tipo de espera como "ASYNC_NETWORK_IO". Estos bloqueos se mantienen siempre que el usuario tenga abierta la interfaz de acceso e impida cualquier operación de actualización / eliminación / truncado en las tablas involucradas. Ahora si el usuariose desplaza hasta el final del registro establecido en Access, los bloqueos se liberan!

El segundo problema ocurre cuando el usuario hace clic para mostrar un único registro en la interfaz. Cuando se muestra un solo registro en pantalla, los DMV del servidor SQL muestran estos bloqueos: objeto 3x, clave 1x, página 1x. La clave es un bloqueo compartido, otros se comparten intención. De nuevo, el estado del comando se suspende y el tipo de espera es ASYNC_NETWORK_IO. Y estos bloqueos se mantienen mientras el usuario esté viendo el registro.

Tenemos que evitar que el acceso mantenga estos bloqueos de forma indefinida. Lamentablemente, MS Access no forma parte de mi conjunto de habilidades, por lo que no sé qué debo hacer para solucionarlo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta