Síntomas
Suponga que tiene al menos un grupo de disponibilidad AlwaysOn con DTC_SUPPORT = PER_DB en Microsoft SQL Server 2016 o 2017. Si ejecuta un desencadenador de SQL Server que contiene una transacción entre bases de datos que implica al menos una de las bases de datos de grupos de disponibilidad, se puede producir un error de aserción. El registro de errores de SQL Server informa de los siguientes mensajes de error de aserción:
DateTime spid20s * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** SPID20S * iniciar volcado de pila:DateTime Spid20s * ubicación: nombre de archivo: 3880DateTime spid20s * Expression: m_state = = BaseXact:: XACT_PREPARED | | m_state = = BaseXact:: XACT_COMMITTEDDateTime SPID20S * SPID: 20
Error de spid20s DateTime : 17066, gravedad: 16, estado: 1.Fecha y hora Spid20s SQL Server Assertion: archivo: <nombre de archivo>, línea =lineNumber error de aserción = ' m_state = = BaseXact:: XACT_PREPARED | | m_state = = BaseXact:: XACT_COMMITTED '. Este error puede estar relacionado con el tiempo. Si el error persiste después de volver a ejecutar la instrucción, Use DBCC CHECKDB para comprobar la integridad estructural de la base de datos o reinicie el servidor para asegurarse de que las estructuras de datos en memoria no están dañadas.Error de spid20s DateTime : 3624, gravedad: 20, estado: 1.DateTime spid20s se produjo un error en una comprobación de aserción del sistema. 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 hotfix del soporte técnico.
Además, puede recibir un mensaje de error similar al siguiente:
DateTime Error de servidor DateTime: 19407, gravedad: 16, estado: 1.
DateTime Servidor DateTime la concesión entre el grupo de disponibilidad ' GroupName ' y el clúster de conmutación por error de Windows Server ha expirado. Se ha producido un problema de conectividad entre la instancia de SQL Server y el clúster de conmutación por error de Windows Server. Para determinar si el grupo de disponibilidad está conmutando por error correctamente, compruebe el recurso de grupo de disponibilidad correspondiente en el clúster de conmutación por error de Windows Server.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".
Resolución
Información de actualización acumulativa:
Este problema se ha corregido en las siguientes actualizaciones acumulativas para SQL Server:
Acerca de las actualizaciones acumulativas de SQL Server: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:
Información de la revisión a petición:
Este problema se ha corregido en las siguientes revisiones a petición para SQL Server:
Referencias
Más información sobre elterminología que usa Microsoft para describir las actualizaciones de software.