KB983516 - CORRECCIÓN: se produce un interbloqueo cuando dos transacciones intentan realizar una operación DML en una tabla que contiene una sugerencia de bloqueo TABLOCK o una sugerencia de bloqueo XLOCK

Se aplica a
Microsoft SQL Server Compact 3.5 SQL Server Compact 3.5 Service Pack 2

Síntomas

Tenga en cuenta el siguiente escenario en Microsoft SQL Server Compact 3.5:

  • Tienes dos transacciones de aislamiento serializable.
  • Ambas transacciones intentan realizar una operación DML (consulta/DML) en la misma tabla que contiene una sugerencia de bloqueo TABLOCK o una sugerencia de bloqueo XLOCK.

En este escenario, encontrará un interbloqueo.

Causa

Este problema se produce porque ambas transacciones esperan una a otra para XLOCK. Cuando la consulta se compila, ambas transacciones obtienen el bloqueo compartido en la tabla y, a continuación, mantienen el bloqueo para el aislamiento serializable. Cuando ambas transacciones intentan realizar una ejecución, la consulta de la misma tabla que contiene una sugerencia de bloqueo XLOCK, ambas transacciones esperan entre sí XLOCK. Por lo tanto, se produce un interbloqueo.

Nota Este problema también se produce cuando ambas transacciones realizan una operación DML en la misma tabla que contiene una sugerencia de bloqueo tablock.

Resolución

SQL Server Compact 3.5 Service Pack 2

La corrección para este problema se publicó por primera vez en la actualización acumulativa 2. Para obtener más información sobre cómo obtener este paquete de actualización acumulativa para SQL Server 2008 R2, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

2289547 actualización acumulativa 2 para SQL Server Compact 3.5 Service Pack 2

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Más información

Para obtener más información sobre Interbloqueo, visita el siguiente sitio web de Microsoft Developer Network (MSDN):

Interbloqueo Para obtener más información sobre DML, visite el siguiente sitio web de MSDN:

DML Para obtener más información sobre la terminología de actualización de software, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

824684 Descripción de la terminología estándar que se usa para describir las actualizaciones de software de Microsoft