Sincronização pesadelo - é possível a utilização de replicação de mesclagem (ou RDA) entre 2 instâncias SQL CE sem IIS?

StackOverflow https://stackoverflow.com/questions/1291346

Pergunta

Somos confrontados com o seguinte problema que envolve manter o seguinte em sincronia:

  • 1 Centralizada Server (IIS / MSSQL 2005)
  • Muitos clientes desktop WPF distribuídos pela ClickOnce
  • Muitos clientes móveis - (Windows CE)

alt texto http://img502.imageshack.us/img502/8246/deployment .png

Com essas restrições espinhosos:

  • todas as relações de sincronização são bi-direcional
  • os desktops e móveis nós requerem modo offline
  • os nós móveis não sincronia com o servidor central, mas pode são a sincronia com os nós de desktop mais USB. Os nós de desktop agir como um servidor para os clientes móveis, não o servidor central. Atualizações a partir dos nós móveis, em seguida, precisa se propaguem para servidor central em virtude de sincronizar com o desktop, e depois sincronizar esse desktop com o servidor central. ufa .

desagradável.

Para sincronizar o desktop e servidor, sabemos que podemos usar replicação de mesclagem - o servidor ser um provedor, o desktop como um assinante, tudo bem. Mas o que sobre a sincronização dos nós móveis e desktop? Aparentemente a área de trabalho não pode ser um publisher sem servidor SQL + ISS, certo? Nós só pode implantar MSSQL CE para o desktop.

Mesmo se este era o caso, poderia um nó ser tanto assinante e editor? Eu suspeito que esse arranjo não é suportado pela arquitetura de replicação de mesclagem -. Aparentemente hub and spoke é o modelo só apoiou

Estamos tentando determinar se podemos eliminar RDA ou replicação de mesclagem como uma possível solução -. Se assim for, provavelmente prosseguirá o MS Sync Framework

Talvez existam outras tecnologias que poderíamos considerar?

Obrigado a todos,

Ashley

UPDATE:! Acabamos começou a ter um jogo com MS Sync Framework e rochas

Foi útil?

Solução

Por razões não diretamente relacionados à sua pergunta específica, eu acho que você pode ir em frente e eliminar RDA / replicação de mesclagem como uma possível solução. A Microsoft não anunciar este (por razões óbvias), mas a replicação de mesclagem não é 100% confiável em condições em que a conexão de rede podem ser descartados no meio do processo de replicação (que acontece muito frequentemente com clientes Windows Mobile).

O resultado deste problema é que as alterações feitas aos bancos de dados de clientes são às vezes não totalmente propagadas para o banco de dados mestre, mas você começa nenhuma indicação detectável que isso tenha acontecido. Como você pode imaginar, isso é uma coisa ruim, especialmente se você vendeu o seu cliente sobre esta solução com base no pressuposto de que RDA funciona como anunciado. A única solução a curto prazo encontramos para este problema foi implementar um processo de redundância de casal muito desajeitado para confirmar que cada registro adicionado ou modificado no cliente fez para o servidor sem erros. A solução a longo prazo era usar nunca mais RDA para qualquer coisa.

Este problema pode ter sido corrigido em versões recentes do RDA (o nosso problema ocorreu com a versão mais recente 2 anos atrás), mas eu nunca vou saber (uma vez mordido duas vezes tímido).

Update: pelo jeito, eu tive muitas pessoas com quem falei sobre isso (incluindo técnicos de suporte da Microsoft) negar que isso poderia ser verdade, mas é muito fácil de verificar: acrescentar um monte de dados sobre a cliente, em seguida, iniciar a replicação, em seguida, puxar o cabo USB para fora do dispositivo (assumindo que o seu cliente é o Windows mobile se conectando através de ActiveSync), enquanto no meio disso.

Se eu pareço um pouco ofendido, é parcialmente porque isso era o que a tecnologia MS foi finalmente forçado a dizer (citação real.): "Bem, basta manter a replicar - os dados se fundirão eventualmente"

Outras dicas

Confira o colaboração Cenários ( peer to peer) na Microsoft Framework 2.0. Os provedores incluídos lá permitir que dois bancos de dados SQL Server Compact para ser sincronizados diretamente. Eles também são capazes de sincronizar diretamente com outros provedores.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top