Síntomas
Suponga que tiene un grupo de disponibilidad de Always On (AG) en SQL Server 2016 y 2017. Al procesar una consulta de lectura en una réplica secundaria, el rendimiento podría ser mucho más lento que la réplica principal debido a DIRTY_PAGE_TABLE_LOCK esperas frecuentes.
Causa
Este problema se produce debido a la contención entre la consulta de lectura y el subproceso rehacer y porque la tabla está bloqueada.
Solución
Esta corrección se incluye en las siguientes actualizaciones de SQL Server:
Actualización acumulativa 8 de SQL Server 2017
Actualización acumulativa 1 para el Service Pack 2 de SQL Server 2016
Actualización acumulativa 9 de SQL Server 2016 Service Pack 1
Acerca de las compilaciones de SQL Server
Cada nueva compilación de SQL Server contiene todas las revisiones y correcciones de seguridad que se encontraban en la compilación anterior. Le recomendamos que instale la compilación más reciente para su versión de SQL Server:
Solución alternativa
Para solucionar este problema, puede usar un único subproceso de rehacer en lugar de un subproceso de rehacer paralelo habilitando Marca de seguimiento 3459.
Más información
Cuando las consultas de solo lectura se ejecutan en una réplica secundaria legible, los subprocesos de consulta intentan aplicar operaciones de rehacer registros pendientes y necesitan colaborar con subprocesos de trabajo de rehacer con DIRTY_PAGE_TABLE_LOCK esperas, lo que puede generarse con frecuencia y ralentizar el rendimiento de rehacer y consulta si hay cargas de trabajo de rehacer simultáneas. El problema de rendimiento asociado a DIRTY_PAGE_TABLE_LOCK espera se soluciona en la versión de actualización acumulativa para SQL Server 2016 SP y SQL Server 2017 mencionada en este artículo.
Para obtener más información, vea el siguiente blog sobre el modelo y el rendimiento de la réplica secundaria del grupo de disponibilidad.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".
Referencias
Obtén información sobre la terminología que Microsoft usa para describir las actualizaciones de software.