REVISIÓN: Mensaje de Error cuando realiza una operación de actualización utilizando un cursor en SQL Server 2005: "La transacción (Id. de proceso < SPID >) quedó en interbloqueo en recursos de bloqueo con otro proceso y fue elegida como sujeto del interbloqueo"

Nº de error: 50002759 (revisión SQL)
Microsoft distribuye correcciones de Microsoft SQL Server 2005 como un archivo descargable. Como las revisiones son acumulativas, cada versión nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la versión anterior de SQL Server 2005.

Síntomas

Imagine el siguiente escenario:
  • Conectarse a una instancia de SQL Server 2005 mediante el uso de dos conexiones.
  • En la primera conexión, realizar las siguientes acciones:
    • Abrir un cursor que tiene habilitada la opción de BLOQUEOS de desplazamiento.
    • Utilice el cursor para recuperar filas de una tabla.
  • En la segunda conexión, abre otro cursor y, a continuación, recuperar las filas de la misma tabla.
  • En la segunda conexión, la operación de recopilación espera hasta que se cierra el cursor en la primera conexión.
En este escenario, al realizar una operación de actualización utilizando el cursor en la primera conexión, recibirá el siguiente mensaje de error:
Msj 1205, nivel 13, estado 45, línea 1

Transacción (Id. de proceso SPID) quedó en interbloqueo en recursos de bloqueo con otro proceso y fue elegida como sujeto del interbloqueo. Vuelva a ejecutar la transacción.
Además, después de cerrar la primera conexión, la operación de actualización se completa correctamente. Sin embargo, la operación de búsqueda en la segunda conexión devuelve el valor antiguo.

Causa

Cuando la segunda conexión recupera los datos, la segunda conexión está esperando un recurso que se lleva a cabo por la primera conexión. Cuando la primera conexión actualiza el bloqueo U al bloqueo X, se produce un interbloqueo.

Solución

En primer lugar, la corrección para este problema se publicó en 8 de actualización acumulativa. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa para SQL Server 2005 Service Pack 2, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
951217 acum actualizar paquete 8 para SQL Server 2005 Service Pack 2
Nota: Como las compilaciones son acumulativas, cada versión de corrección nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la versión anterior de SQL Server 2005. Microsoft recomienda que considere la posibilidad de aplicar la versión más reciente de revisión que contenga este hotfix. Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:
937137 el SQL Server 2005 crea que se publicaron después del lanzamiento de SQL Server 2005 Service Pack 2
Las revisiones de Microsoft SQL Server 2005 se crean para determinados service Pack de SQL Server. Debe aplicar un hotfix de SQL Server 2005 Service Pack 2 a una instalación de SQL Server 2005 Service Pack 2. De forma predeterminada, cualquier hotfix suministrada en un service pack de SQL Server se incluye en el próximo service pack de SQL Server.

Para habilitar la actualización

Después de aplicar esta actualización, habilitar el indicador de traza 4120. Para ello, utilice el comando siguiente:
DBCC TRACEON (4120, -1)
O bien, puede agregar el parámetro de inicio de-T4120.

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 acerca de qué archivos se cambian y para obtener información acerca de los requisitos previos para aplicar el paquete de actualización acumulativa que contiene la revisión que se describe en este artículo de Microsoft Knowledge Base, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
951217 acum actualizar paquete 8 para SQL Server 2005 Service Pack 2

Referencias

Para obtener más información acerca de la lista de compilaciones disponibles después de SQL Server Service Pack 2, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
937137 el SQL Server 2005 crea que se publicaron después del lanzamiento de SQL Server 2005 Service Pack 2
Para obtener más información sobre el modelo de servicio Incremental de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
935897 un modelo de servicio Incremental está disponible en el equipo de SQL Server para entregar revisiones para problemas detectados
Para obtener más información acerca de cómo obtener SQL Server 2005 Service Pack 2, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
913089 cómo obtener el service pack más reciente para SQL Server 2005
Para obtener más información acerca de las nuevas características y mejoras de SQL Server 2005 Service Pack 2, visite el siguiente sitio Web de Microsoft:Para obtener más información acerca del esquema de nomenclatura para las actualizaciones de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
Paquetes de actualización de 822499 nuevo esquema de nomenclatura para software de Microsoft SQL Server
Para obtener más información acerca de la terminología de la 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 utiliza para describir las actualizaciones de software de Microsoft
Propiedades

Id. de artículo: 953948 - Última revisión: 14 ene. 2017 - Revisión: 1

Comentarios