MSSQL_REPL027183
Detalles del mensaje
Nombre del producto |
SQL Server |
Versión del producto |
10.0 |
Número de compilación del producto |
|
Id. de evento |
27183 |
Origen del evento |
MSSQLSERVER |
Componente |
SQL Server Database Engine (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_contents y 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 solucionar 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 de agente y en la línea de comandos. Para obtener 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 acerca de estos requisitos, vea Optimizar el rendimiento de los filtros con parámetros con particiones precalculadas. 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 obtener más información, vea Desactivación y caducidad de las suscripciones.
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 y MSmerge_tombstone, y MSmerge_current_partition_mappings y 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, vea Filtros de combinación.
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 sólo 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 Cómo especificar programaciones de sincronización (SQL Server Management Studio) y Cómo especificar programaciones de sincronización (programación de la replicación con Transact-SQL).