Microsoft distribuye las correcciones de Microsoft SQL Server 2008 y Microsoft SQL Server 2008 R2 como un archivo descargable. Dado que las correcciones son acumulativas, cada nueva versión contiene todas las revisiones y todas las correcciones de seguridad que se incluyeron con la versión anterior de corrección de SQL Server 2008 o SQL Server 2008 R2.
Síntomas
Tenga en cuenta el siguiente escenario:
Ejecuta una aplicación de Microsoft SQL Server que tiene configurada una transacción de Coordinador de transacciones distribuidas (DTC) o Varios conjuntos de resultados activos (MARS).
Por ejemplo, ejecuta Microsoft SQL Server Integration Services que inicia una transacción DTC o MARS.
Inicia una operación BULK LOAD como parte de la transacción DTC o MARS en una tabla de destino. La opción FIRE_TRIGGERS no se especifica en una instrucción BULK INSERT de la operación BULK LOAD.
Nota: Una operación BULK LOAD ejecuta una instrucción BULK INSERT.
Inicia otra operación de CARGA MASIVA o una operación de lenguaje de manipulación de datos estándar (DML) para otra tabla de destino mientras se ejecuta la primera operación de CARGA MASIVA. Estas operaciones paralelas se encuentran en la misma transacción DTC o MARS. .
En esta situación, puede aparecer el siguiente mensaje de error:
Nota
Error: 595, Gravedad: 16, Estado: 1
La inserción masiva con otro conjunto de resultados pendiente debe ejecutarse con XACT_ABORT activada.
Causa
Este problema se produce porque SQL Server detecta por error un interbloqueo de MARS. SQL Server evita los interbloqueos que pueden producirse al iniciar una transacción de MARS o DTC. Sin embargo, SQL Server no comprueba si la opción FIRE_TRIGGERS se especifica en la instrucción BULK INSERT.
Nota
Para obtener más información acerca de cómo evitar un interbloqueo de MARS en SQL Server, consulte la sección "Ejecución intercalada" del artículo "Multiple Active Result Sets (MARS) in SQL Server 2005" en el sitio web de Microsoft Developer Network (MSDN).
Para obtener más información acerca del artículo "Varios conjuntos de resultados activos (MARS) en SQL Server 2005", visite el siguiente sitio web de Microsoft Developer Network (MSDN):
El artículo "Varios conjuntos de resultados activos (MARS) en SQL Server 2005"
Resolución
Información sobre la actualización acumulativa
SQL Server 2008
La corrección para este problema se publicó por primera vez en la actualización acumulativa 11 para SQL Server 2008 Service Pack 1. Para obtener más información acerca de este paquete de actualizaciones acumulativas, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2413738 paquete de actualización acumulativa 11 para SQL Server 2008 Service Pack 1Nota Dado que las compilaciones son acumulativas, cada nueva versión de corrección contiene todas las revisiones y correcciones de seguridad que se incluyeron con la versión de corrección anterior de SQL Server 2008. Microsoft recomienda que se plantee la posibilidad de aplicar la versión de corrección más reciente que contenga esta revisión. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
970365 Las compilaciones de SQL Server 2008 que se publicaron después de SQL Server 2008 Service Pack 1 Se crean revisiones de Microsoft SQL Server 2008 para determinados SQL Server Service Pack. Debe aplicar una revisión de SQL Server 2008 Service Pack 1 a una instalación de SQL Server 2008 Service Pack 1. De forma predeterminada, cualquier revisión que se proporcione en un Service Pack de SQL Server se incluye en el siguiente Service Pack de SQL Server.
SQL Server 2008 R2
La corrección de este problema se publicó por primera vez en la actualización acumulativa 5. Para obtener más información acerca de 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:
2438347 paquete de actualización acumulativa 5 para SQL Server 2008 R2 Nota Dado que las compilaciones son acumulativas, cada nueva corrección contiene todas las revisiones y correcciones de seguridad que se incluyeron con la versión de corrección anterior de SQL Server 2008 R2. Recomendamos que se plantee la posibilidad de aplicar la versión de corrección más reciente que contiene esta revisión. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
981356 Compilaciones de SQL Server 2008 R2 que se publicaron después de SQL Server 2008 R2
SQL Server 2008 Service Pack 2
La corrección de este problema se publicó por primera vez en la actualización acumulativa 2 para SQL Server 2008 Service Pack 2. Para obtener más información acerca de este paquete de actualizaciones acumulativas, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2467239 paquete de actualización acumulativa 2 para SQL Server 2008 Service Pack 2Nota: Dado que las compilaciones son acumulativas, cada nueva corrección contiene todas las revisiones y correcciones de seguridad que se incluyeron con la versión de corrección anterior de SQL Server 2008. Microsoft recomienda que se plantee la posibilidad de aplicar la versión de corrección más reciente que contenga esta revisión. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2402659 Las compilaciones de SQL Server 2008 que se publicaron después de SQL Server 2008 Service Pack 2 Se crean revisiones de Microsoft SQL Server 2008 para SQL Server Service Pack específicos. Debe aplicar una revisión de SQL Server 2008 Service Pack 2 a una instalación de SQL Server 2008 Service Pack 2. De forma predeterminada, cualquier revisión que se proporcione en un Service Pack de SQL Server se incluye en el siguiente Service Pack de SQL Server.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".
Referencias
Para obtener más información acerca de la instrucción BULK INSERT, visite el siguiente sitio web de MSDN:
Información general acerca de la instrucción BULK INSERT Para obtener más información sobre el destino de OLE DB, visite el siguiente sitio web de MSDN:
Información general sobre el destino OLE DB Para obtener más información acerca del modelo de servicio incremental para 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 del esquema de nomenclatura de las actualizaciones de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
822499 Nuevo esquema de nomenclatura de los paquetes de actualizaciones de software de Microsoft SQL Server Para obtener más información acerca de la terminología relativa a las actualizaciones de software de Microsoft, 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