Cenário Merge Replication Publishing Subscriber

1

Eu tenho uma topologia de assinante de publicação de mesclagem do SQL 2008 - > SQL 2000 - > MS Access 2003. Em um banco de dados no nível do SQL 2008, eu tenho uma publicação atualizável (chamada catálogo) que é não filtrada, assinada pelo servidor do SQL 2000 e, em seguida, republicada para o cliente do MS Access. Eu posso fazer inserções / atualizações no assinante do MS Access e elas fluem bem até o servidor SQL 2008. Em outro banco de dados no SQL 2008, tenho algumas publicações. A primeira publicação tem um filtro estático baseado em um valor de região. A outra publicação é uma publicação não filtrada de ordens e linhas. Ambas as publicações são assinadas pela máquina SQL 2000 em um banco de dados separado da publicação do catálogo. No nível SQL 2000, eu crio publicações filtradas por usuário que são extraídas das tabelas filtradas e, em seguida, unidas às tabelas de pedidos. Eu posso criar as publicações do MSAccess e sincronizá-las bem. O problema é quando faço alterações em qualquer uma das tabelas filtradas. Vejo que a atualização atinge o servidor SQL 2000, mas não flui para o servidor SQL 2008. Eu tentei uma atualização fictícia e, em seguida, as alterações fluíram para a máquina do SQL 2008. Alguma idéia de por que as alterações que são enviadas para as tabelas filtradas no SQL 2000 não estão sendo propagadas para a máquina do SQL 2008?

    
por Brian Dunzweiler 03.09.2009 / 15:50

1 resposta

1

Após abrir um caso com o MS, foi determinado que um erro é induzido em uma topologia de assinante / republicador de publicação ao definir column_tracking = true. Além disso, criei uma publicação filtrada estaticamente no editor de nível superior que não parecia ajudar. A questão era que o assinante do MS Access carregaria as alterações para o republicador, mas com um art_nick / tablenick de 0. O representante da MS também disse que isso ocorreu com o SQL CE. De qualquer forma, o agente entre o republicador e o editor ignoraria o (s) registro (s) em msmerge_contents porque o tablenick não estava definido. Para contornar isso, removi a publicação filtrada estaticamente no nível do editor e alterei todas as publicações para usar o rastreamento em nível de linha. Depois que fiz isso, todas as alterações do assinante foram propagadas para o editor conforme o esperado.

Brian

    
por 04.09.2009 / 21:45