Compartir vía


MSSQL_REPL027183

Se aplica a: SQL Server Azure SQL Managed Instance

Detalles del mensaje

Attribute Valor
Nombre del producto SQL Server
Id. de evento 27183
Origen de eventos MSSQLSERVER
Componente Motor de base de datos de SQL Server
Nombre simbólico
Texto del mensaje El proceso de mezcla no pudo enumerar los cambios en los artículos con filtros de fila con parámetros. Si el error persiste, aumente el tiempo de espera de consulta, reduzca el período de retención de la publicación y mejore los índices en las tablas publicadas.

Explicación

Este error se genera si se agota el tiempo de espera del Agente de mezcla durante el procesamiento de cambios en una publicación filtrada. Este tiempo de espera puede estar causado por uno de los siguientes problemas:

  • No utilizar la optimización de particiones precalculadas.

  • Fragmentar índices en las columnas empleadas para filtrar.

  • Tablas de metadatos de mezcla de gran tamaño, como MSmerge_tombstone, MSmerge_contentsy MSmerge_genhistory.

  • Tablas filtradas que no están combinadas en una clave única y filtros de combinación que incluyen un gran número de tablas.

Acción del usuario

Para resolver el problema:

  • Aumente el valor del parámetro -QueryTimeOut para que el agente de mezcla permita que el procesamiento continúe mientras soluciona los problemas causantes del error. Los parámetros del agente se pueden especificar en los perfiles del agente y en la línea de comandos. Para más información, vea:

  • Si es posible, utilice la optimización de particiones precalculadas. Esta optimización se utiliza de forma predeterminada si se cumplen una serie de requisitos de publicación. Para obtener más información sobre estos requisitos, vea Optimizar el rendimiento de los filtros con parámetros con particiones calculadas previamente. Si la publicación no reúne dichos requisitos, considere la posibilidad de volver a diseñar la publicación.

  • Especifique el valor más bajo posible para el período de retención de la publicación, ya que la replicación no puede limpiar los metadatos de las bases de datos de suscripciones y publicaciones hasta que se alcance el período de retención. Para más información, consulte Subscription Expiration and Deactivation.

  • Como parte del mantenimiento de la replicación de mezcla, compruebe ocasionalmente el crecimiento de las tablas del sistema asociadas con la replicación de mezcla: MSmerge_contents, MSmerge_genhistory, MSmerge_tombstone, MSmerge_current_partition_mappingsy MSmerge_past_partition_mappings. Vuelva a indizar estas tablas periódicamente. Para obtener más información, vea Reorganizar y volver a generar índices.

  • Asegúrese de que las columnas utilizadas para filtrar están correctamente indizadas y vuelva a generar dichos índices en caso necesario. Para obtener más información, vea Reorganizar y volver a generar índices.

  • Establezca la propiedad join_unique_key para los filtros combinados basados en columnas únicas. Para obtener más información, consulte Join Filters.

  • Limite el número de tablas de la jerarquía del filtro de combinación. Si va a generar filtros de combinación de cinco tablas o más, considere otras soluciones, como no filtrar tablas pequeñas, que no estén sometidas a cambios o que sean principalmente tablas de búsqueda. Utilice filtros combinados solo entre tablas que deben particionarse entre las suscripciones.

  • Realice un número reducido de cambios en las tablas filtradas entre sincronizaciones o ejecute el Agente de mezcla con mayor frecuencia. Para obtener más información acerca de la configuración de las programaciones de sincronización, vea Specify Synchronization Schedules.