Compartir a través de


Compatibilidad de bloqueos

Si un recurso ya está bloqueado por una transacción y una segunda transacción necesita obtener acceso a él, Microsoft SQL Server Compact determina si se aplicará el segundo bloqueo en función de la compatibilidad del modo de bloqueo utilizado por la primera transacción.

Solo los tipos de bloqueo compatibles pueden aplicarse a un recurso que ya está bloqueado. Por ejemplo, mientras un bloqueo exclusivo (X) esté en vigor, ninguna transacción podrá aplicar un bloqueo compartido, de actualización o exclusivo al recurso hasta que el bloqueo X quede anulado al finalizar la primera transacción. Como alternativa, si se ha aplicado un bloqueo compartido (S) a un recurso, otras transacciones también pueden aplicar un bloqueo compartido o de actualización (U) a ese elemento, aunque la primera transacción no se haya completado. Sin embargo, otras transacciones no pueden adquirir un bloqueo exclusivo si no se anula el bloqueo compartido.

Los modos de bloqueo de recursos tienen una matriz de compatibilidad que muestra los bloqueos que son compatibles con otros bloqueos obtenidos en el mismo recurso ordenados por prioridad de bloqueo.

En la tabla siguiente se muestran los modos de bloqueo solicitados y su compatibilidad con el modo de bloqueo existente.

Modo solicitado

IS

S

U

IX

SIX

X

Intención compartida (IS)

No

Compartido (S)

No

No

No

Actualizar (U)

No

No

No

No

Con intención exclusivo (IX)

No

No

No

No

Compartido con intención exclusiva (SIX)

No

No

No

No

No

Exclusivo (X)

No

No

No

No

No

No

Nota

Un bloqueo IX es compatible con un modo de bloqueo IX porque IX indica que la intención es actualizar solamente algunas filas y no todas. Otras transacciones también tienen permiso de lectura o actualización en algunas de las filas, siempre que las filas afectadas no sean las mismas que otras transacciones están actualizando.

Matriz de compatibilidad de bloqueos

SQL Server Compact admite los siguientes bloqueos:

  • Sch-S, Sch-X, S, U, X, IS, IU, IX, SIU, SIX y UIX

Nota

El bloqueo de estabilidad de esquemas (Sch-S) es compatible con todos los modos de bloqueo salvo el de modificación de esquema (Sch-M). El bloqueo Sch-M es incompatible con todos los modos de bloqueo.

Para obtener información acerca de la matriz de compatibilidad de bloqueos, vea los Libros en pantalla de SQL Server.

Vea también

Conceptos

Descripción de bloqueos

Mostrar la información de bloqueo

Personalizar los bloqueos