Mantener la integridad transaccional con BLOQUEOS

Seleccione idioma Seleccione idioma
Id. de artículo: 224992 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Síntomas

En condiciones extremas, algunas aplicaciones de base de datos multiusuario que utilizar un almacén de datos común a través de una conexión de red en un servidor de archivos pueden experimentar problemas de integridad transaccional o daños en los archivos de base de datos o índices almacenados en el servidor. Esto normalmente se aplica a algunos denominado "estilo ISAM" o aplicaciones de base de datos multiusuario de "registro orientados a", no a un sistema relacional de cliente/servidor como SQL Server.

Causa

Si una aplicación de base de datos multiusuario o único para el usuario tiene acceso a un almacén de datos comunes en un servidor de archivos de Windows NT mediante bloqueos oportunistas (o OPLOCKS), es posible que un usuario determinado a transacciones parcial de caché en el disco duro de los sistemas de cliente. Se trata de una mejora de rendimiento para el redirector de cliente de Windows para reducir la E/s de archivos red entre el cliente y el servidor. Los datos están almacenados en caché en el redirector de cliente es más adelante vuelven a escribir el servidor en. Sin embargo, en algunos casos, un sistema cliente puede dejar de responder (se bloquea), realice un reinicio duro, pierde su conexión de red al servidor o pueden experimentarse cualquier número de otras dificultades técnicas. En tales casos, puede perderse el contenido de la caché local que todavía no se han escrito en el servidor. En consecuencia, se ve comprometida la integridad de transacciones de las estructuras de base de datos en el servidor y los datos del servidor de archivos pueden resultar dañados.

Solución

Para evitar este problema, los programadores escribir aplicaciones de base de datos que tienen acceso a un almacén de datos de red deben vaciar los búferes de archivo en cualquier tiempo que representa delineation de una transacción; por ejemplo, después de una operación masiva o a antes de cerrar un identificador de archivo o en cualquier momento un registro de transacciones se escribirá. Se puede hacer llamando a la llamada de API de Win32 FlushFileBuffers.

Propiedades

Id. de artículo: 224992 - Última revisión: miércoles, 01 de noviembre de 2006 - Versión: 1.1
La información de este artículo se refiere a:
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Server 4.0 Enterprise Edition
Palabras clave: 
kbmt kbprb KB224992 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): 224992

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