Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Para entender como os conflitos são resolvidos de acordo com os valores de prioridade atribuídos e se uma assinatura é um servidor ou uma assinatura de cliente, considere o exemplo a seguir, que descreve uma série de atualizações para uma linha em várias sincronizações de mesclagem.
Veja os valores de prioridade inicial de quatro sites em uma topologia básica de replicação de mesclagem (um Editor, dois Assinantes com assinaturas de servidor e um Assinante com uma assinatura de cliente).
| Sítio | Tipo | Valor de prioridade |
|---|---|---|
| A | Publicador | 100,00 |
| B | Assinatura do servidor | 75.00 (atribuído) |
| C | Assinatura do servidor | 50.00 (atribuído) |
| D | Assinatura do cliente | 0,00 (padrão) |
Fase 1: Valores iniciais
Inicialmente, o Site A (o Publicador) cria a versão um da linha que contém value='Nebraska', que é replicada para os Sites B, C e D durante a próxima sincronização de mesclagem. Após a sincronização, aqui estão os valores da linha.
| Sítio | Tipo | Valor da linha |
|---|---|---|
| A (Editor) | 100,00 | Nebraska |
| B (Assinatura do servidor) | 75,00 | Nebraska |
| C Assinatura do servidor) | 50,00 | Nebraska |
| D (Assinatura do cliente) | 0,00 | Nebraska |
Fase 2: Tanto o Editor quanto o Assinante com assinatura do servidor atualizam a linha
O Site A atualiza o valor da linha para Texas, e o Site B atualiza o valor da linha para Nova Jersey. Quando a próxima sincronização de mesclagem ocorre, há um conflito entre os sites A e B. O Site A vence o conflito. O valor vencedor do conflito do site A é propagado para os sites B, C e D.
| Sítio | Valor de prioridade | Valor da linha |
|---|---|---|
| A (Editor) | 100,00 | Texas |
| B (Assinatura do servidor) | 75,00 | Texas |
| C Assinatura do servidor) | 50,00 | Texas |
| D (Assinatura do cliente) | 0,00 | Texas |
Fase 3: Várias alterações feitas na mesma linha
Suponha que o site C atualize a linha (altere-a para a Carolina do Norte) e sincronize com o Publicador. Isso não é um conflito porque C já mesclou com sucesso a última atualização de A (onde o valor da coluna='Texas' foi mesclado com êxito). Em seguida, suponha que o Site B atualize a linha (altere-a para Idaho).
| Sítio | Valor de prioridade | Valor da linha |
|---|---|---|
| A (Editor) | 100,00 | Carolina do Norte |
| B (Assinatura do servidor) | 75,00 | Idaho |
| C Assinatura do servidor) | 50,00 | Carolina do Norte |
| D (Assinatura do cliente) | 0,00 | Texas |
Quando o site B é sincronizado com o Publicador, há um conflito de atualização. Como B e C são assinaturas de servidor e a prioridade de B é maior que a de C, o site B vence o conflito. Depois que os outros dois sites também forem mesclados, o valor de B é propagado para os outros subscritores.
| Sítio | Valor de prioridade | Valor da linha |
|---|---|---|
| A (Editor) | 100,00 | Idaho |
| B (Assinatura do servidor) | 75,00 | Idaho |
| C Assinatura do servidor) | 50,00 | Idaho |
| D (Assinatura do cliente) | 0,00 | Idaho |
Fase 4: Assinantes com assinaturas de servidor e cliente atualizam a linha.
Suponha que o site D atualize a linha (altere-a para o Novo México) e sincronize com o Publicador. Em seguida, suponha que o Site B atualize a linha (altere-a para a Califórnia).
| Sítio | Valor de prioridade | Valor da linha |
|---|---|---|
| A (Editor) | 100,00 | Novo México |
| B (Assinatura do servidor) | 75,00 | Califórnia |
| C Assinatura do servidor) | 50,00 | Idaho |
| D (Assinatura do cliente) | 0,00 | Novo México |
Quando o site B é sincronizado com o Publicador, há um conflito de atualização. Ao contrário do exemplo anterior, como d tem uma assinatura de cliente, ele assume o valor de prioridade do Publicador (site A) após a sincronização. Como a prioridade de A é maior que B, B perde o conflito; o valor inicialmente inserido em D vence. (Se o Assinante B tivesse sincronizado com A antes do Assinante D, o site B teria vencido o conflito.) O site D que venceu o conflito depende que o Publicador não tenha feito uma alteração ou recebido outra alteração, pois a versão da linha atualizada no Site D foi sincronizada pela última vez. Se qualquer Assinante com uma assinatura de servidor ou qualquer outro Assinante com uma assinatura de cliente sincronizar primeiro, a regra de prioridade mais alta ou "o primeiro a entrar no Editor vence" será seguida.
Os valores finais depois que todos os sites são sincronizados são mostrados aqui.
| Sítio | Valor de prioridade | Valor da linha |
|---|---|---|
| A (Editor) | 100,00 | Novo México |
| B (Assinatura do servidor) | 75,00 | Novo México |
| C Assinatura do servidor) | 50,00 | Novo México |
| D (Assinatura do cliente) | 0,00 | Novo México |
A ordem de sincronização e o valor de prioridade determinam o resultado de conflitos ao misturar assinaturas de servidor e cliente no mesmo nível em sua topologia. Este último conjunto de atualizações ilustra por que a cautela deve ser exercida. Embora o Assinante tenha o menor valor de prioridade dos três Assinantes, ele venceu o conflito porque sincronizou com o Editor (assumindo assim o valor de prioridade de 100,00 do Editor) primeiro. Se o site C (assinatura do servidor com um valor de prioridade de 50,00) tivesse entrado no Novo México em vez do site D, o site B (assinatura do servidor com um valor de prioridade de 75,00) teria vencido o conflito, e o resultado teria sido a Califórnia.