Compartilhar via


MSSQL_REPL027183

Detalhes da mensagem

Nome do produto

SQL Server

Versão do produto

10.0

Número da compilação do produto

 

ID do evento

27183

Origem do evento

MSSQLSERVER

Componente

Mecanismo de Banco de Dados do SQL Server

Nome simbólico

Texto da mensagem

O processo de mesclagem não pôde enumerar as alterações nos artigos que apresentaram filtros de linha com parâmetros. Se a falha persistir, aumente o tempo limite da consulta nesse processo, reduza o período de retenção da publicação e aprimore os índices nas tabelas publicadas.

Explicação

Esse erro surge quando o tempo limite do Agente de Mesclagem ocorre durante o processamento de alterações em uma publicação filtrada. O tempo limite pode ser causado por um dos seguintes problemas:

  • A otimização das partições pré-computadas não está sendo usada.

  • Fragmentação de índice em colunas usadas para filtragem.

  • Tabelas de metadados de mesclagens grandes, como MSmerge_tombstone, MSmerge_contents e MSmerge_genhistory.

  • Tabelas filtradas não associadas em uma chave exclusiva e associação de filtros que envolvem um grande número de tabelas.

Ação do usuário

Para resolver o problema:

  • Aumente o valor do parâmetro -QueryTimeOut do Agente de Mesclagem para permitir que o processamento continue enquanto você aborda os problemas subjacentes que estão provocando o erro. Os parâmetros de agente podem ser especificados em perfis de agente e na linha de comando. Para obter mais informações, consulte:

  • Use a otimização de partições pré-computadas, se possível. Por padrão, essa otimização será usada se um número de requisitos de publicação forem atendidos. Para obter mais informações sobre esses requisitos, consulte Otimizar o desempenho de filtro parametrizado com partições pré-computadas. Se a publicação não satisfizer esses requisitos, considere reprojetar a publicação.

  • Especifique a menor definição possível para o período de retenção da publicação, porque a replicação não poderá limpar os metadados nos bancos de dados de assinatura e publicação antes do período de retenção ser atingido. Para obter mais informações, consulte Validade e desativação de assinatura.

  • Como parte da manutenção da replicação de mesclagem, verifique esporadicamente o crescimento das tabelas do sistema associadas à replicação de mesclagem: MSmerge_contents, MSmerge_genhistory, MSmerge_tombstone, MSmerge_current_partition_mappings e MSmerge_past_partition_mappings. Periodicamente, indexe novamente essas tabelas. Para obter mais informações, consulte Reorganizar e recriar índices.

  • Certifique-se de que as colunas usadas para filtragem estejam indexadas corretamente e reconstrua tais índices, se necessário. Para obter mais informações, consulte Reorganizar e recriar índices.

  • Defina a propriedade join_unique_key para filtros de junção com base em colunas exclusivas. Para obter mais informações, consulte Filtros de junção.

  • Limite o número de tabelas na hierarquia de filtro de junção. Se você estiver gerando filtros de junção de cinco ou mais tabelas, considere outras soluções: não filtre tabelas pequenas, que não estão sujeitas a alterações ou que sejam basicamente tabelas de pesquisa. Use filtros de junção somente entre tabelas que devem ser particionadas entre assinaturas.

  • Faça um número menor de alterações em tabelas filtradas entre as sincronizações ou execute o Agente de Mesclagem mais frequentemente. Para obter mais informações sobre como definir agendas de sincronização, consulte Especificar agendas de sincronização.

Consulte também

Conceitos

Referência de erros e eventos (replicação)