Síntomas
Imagine la siguiente situación:
-
Tiene una base de datos que usa el modelo de recuperación BULK_LOGGED o simple en Microsoft SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 o SQL Server 2014.
-
Active la opción SET XACT_ABORT .
-
Intenta ejecutar varias instrucciones Bulk Insert en una única transacción distribuida.
En este escenario, la instrucción Bulk Insert puede dar error y recibe el siguiente mensaje de error:
Ubicación: PAGEREF. cpp: 913Expression: IS_OFF (BUF_MINLOGGED, m_buf->BStat) | | pageModifyType! = PageModifyType_Contents | | GetPagePtr ()->IsTextPage () SPID: 56Process ID: 2136Msg 3624, Level 20, State 1, line 7A System Assertion Checked. Compruebe el registro de errores de SQL Server para ver los detalles. Por lo general, el error de aserción se debe a un error de software o a daños en los datos. Para comprobar si hay daños en la base de datos, considere la posibilidad de ejecutar DBCC CHECKDB. Si aceptó el envío de volcados a Microsoft durante la instalación, se enviará un minivolcado a Microsoft. Es posible que Microsoft disponga de una actualización en el último Service Pack o en un QFE del soporte técnico. msg 0, nivel 20, estado 0, línea 0 error grave en el comando actual. Los resultados, si los hay, se deben descartar.
Además, se puede generar un archivo de volcado en la carpeta de registro de SQL Server. Nota Este problema suele producirse cuando se usa SQL Server Integration Services (SSIS). Por ejemplo, el Coordinador de transacciones distribuidas de Microsoft (MS DTC) está implicado en iniciar transacciones distribuidas junto con SET XACT_ABORT activado si la propiedad del nivel de paquete TransactionOption está establecida en requerido.
Causa
Este problema se produce debido a un error en SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 o SQL Server 2014.
Resolución
El problema se solucionó por primera vez en la siguiente actualización acumulativa de SQL Server.
Actualización acumulativa 1 para SQL Server 2014 /en-us/help/2931693
Actualización acumulativa 8 para SQL Server 2012 SP1 /en-us/help/2917531
Actualización acumulativa 10 para SQL Server 2008 R2 SP2 /en-us/help/2908087
Actualización acumulativa 10 para SQL Server 2008 SP1 /en-us/help/2279604
Actualización acumulativa 1 para SQL Server 2008 SP2 /en-us/help/2289254
Actualización acumulativa 5 para SQL Server 2008 R2 /en-us/help/2438347
Cada actualización acumulativa para SQL Server contiene todas las revisiones y todas las revisiones de seguridad incluidas en la actualización acumulativa anterior. Consulte las últimas actualizaciones acumulativas para SQL Server:
-
Actualización acumulativa más reciente de SQL Server 2012 SP1
-
Actualización acumulativa más reciente de SQL Server 2008 R2 SP2
-
Actualización acumulativa más reciente de SQL Server 2008 SP1
-
Actualización acumulativa más reciente de SQL Server 2008 SP2
-
Actualización acumulativa más reciente de SQL Server 2008 R2
Solución alternativa
Para solucionar este problema, establezca la base de datos en el modelo de recuperación completa .
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft recogidos en la sección "Se aplica a".
Referencias
Para obtener más información acerca de la configuración de SET XACT_ABORT , visite el siguiente sitio web de Microsoft Developer Network (MSDN):
Información general acerca de la opción "establecer XACT_ABORT"Para obtener más información acerca de las operaciones que se registran mínimamente, visite el siguiente sitio web de MSDN:
Información general acerca de las operaciones que se registran mínimamentePara obtener más información sobre cómo mantener la integridad de los datos mediante transacciones, visite el siguiente sitio web de MSDN:
Información general acerca de cómo mantener la integridad de los datos mediante transaccionesPara obtener más información sobre el modelo de mantenimiento 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 disponible en el equipo de SQL Server para ofrecer revisiones para problemas detectadosPara obtener más información sobre el 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:
822499Nuevo esquema de nomenclatura para los paquetes de actualización de software de Microsoft SQL ServerPara obtener más información acerca de la terminología de actualizaciones 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 utilizada para describir las actualizaciones de software de Microsoft