Partilhar via


MSSQL_REPL027183

Detalhes da mensagem

Nome do produto SQL Server
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 falhou ao enumerar alterações em artigos com filtros de linha parametrizados. Se essa falha continuar, aumente o tempo limite da consulta para esse processo, reduza o período de retenção da publicação e melhore os índices nas tabelas publicadas.

Explicação

Esse erro será gerado se ocorrer um tempo limite do Merge Agent durante o processamento de alterações em uma publicação filtrada. O tempo limite pode ser causado por um dos seguintes problemas:

  • Não usando a otimização de partições pré-computadas.

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

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

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

Ação do usuário

Para resolver o problema:

  • Aumente o valor do parâmetro -QueryTimeOut para o Merge Agent para permitir que o processamento continue enquanto você aborda os problemas subjacentes que causam 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. Essa otimização será usada por padrão se vários requisitos de publicação forem atendidos. Para obter mais informações sobre esses requisitos, consulte Otimizar o desempenho do filtro parametrizado com partições pré-computadas. Se a publicação não atender a esses requisitos, considere redesenhar a publicação.

  • Especifique a configuração mais baixa possível para o período de retenção de publicação, pois a replicação não pode limpar metadados nos bancos de dados de publicação e assinatura até que o período de retenção seja atingido. Para obter mais informações, consulte Expiração e Desativação da Assinatura.

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

  • Verifique se as colunas usadas para filtragem são indexadas corretamente e recompile esses índices, se necessário. Para obter mais informações, veja Reorganizar e recriar índices.

  • Defina a propriedade join_unique_key para filtros de junção baseados 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, não sujeitas a alterações ou sejam principalmente 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 sincronizações ou execute o Merge Agent com mais frequência. Para obter mais informações sobre como definir agendas de sincronização, consulte Especificar Agendas de Sincronização.

Consulte Também

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