Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Para compreender como os conflitos são resolvidos de acordo com os valores de prioridade atribuídos e determinar se uma subscrição é de servidor ou de cliente, considere o exemplo a seguir, que descreve uma série de atualizações a uma linha durante várias sincronizações de mesclagem.
Aqui estão os valores de prioridade inicial para quatro sites em uma topologia básica de replicação de mesclagem (um Publicador, dois Assinantes com assinaturas de servidor e um Assinante com uma assinatura de cliente).
| Sítio | Tipo | Valor prioritário |
|---|---|---|
| A | Editora | 100.00 |
| B | Subscrição do Servidor | 75.00 (atribuído) |
| C | Subscrição do Servidor | 50.00 (atribuído) |
| D | Subscrição de Cliente | 0,00 (padrão) |
Fase 1: Valores iniciais
Inicialmente, o Site A (o Editor) cria a primeira versão da linha que contém valor='Nebraska', que é replicada para os Sites B, C e D durante a próxima sincronização de integração. Após a sincronização, aqui estão os valores para a linha.
| Sítio | Tipo | Valor da linha |
|---|---|---|
| A (Editora) | 100.00 | Nebrasca |
| B (Subscrição do Servidor) | 75.00 | Nebrasca |
| C (Subscrição do Servidor) | 50.00 | Nebrasca |
| D (Subscrição de Cliente) | 0.00 | Nebrasca |
Fase 2: Publicador e assinante atualizam ambos a linha com assinatura de servidor
O site A atualiza o valor da linha para o Texas e o site B atualiza o valor da linha para Nova Jersey. Quando ocorre a próxima sincronização de mesclagem, há um conflito entre os sites A e B. O site A vence o conflito. O valor do vencedor do conflito do site A é propagado para os sites B, C e D.
| Sítio | Valor prioritário | Valor da linha |
|---|---|---|
| A (Editora) | 100.00 | Texas |
| B (Subscrição do Servidor) | 75.00 | Texas |
| C (Subscrição do Servidor) | 50.00 | Texas |
| D (Subscrição de Cliente) | 0.00 | Texas |
Fase 3: Várias alterações feitas na mesma linha
Suponha que o site C atualiza a linha (altera-a para Carolina do Norte) e sincroniza com o Editor. Isso não é um conflito porque C já mesclou com êxito a última atualização de A (com o valor da linha = 'Texas' mesclado com êxito). Em seguida, suponha que o Site B atualize a linha (altere-a para Idaho).
| Sítio | Valor prioritário | Valor da linha |
|---|---|---|
| A (Editora) | 100.00 | Carolina do Norte |
| B (Subscrição do Servidor) | 75.00 | Idaho |
| C (Subscrição do Servidor) | 50.00 | Carolina do Norte |
| D (Subscrição de Cliente) | 0.00 | Texas |
Quando o site B é sincronizado com o Editor, há um conflito de atualização. Como B e C são assinaturas de servidor e a prioridade de B é maior do que a de C, o site B vence o conflito. Depois que os outros dois sites também são mesclados, o valor de B é propagado para os outros assinantes.
| Sítio | Valor prioritário | Valor da linha |
|---|---|---|
| A (Editora) | 100.00 | Idaho |
| B (Subscrição do Servidor) | 75.00 | Idaho |
| C (Subscrição do Servidor) | 50.00 | Idaho |
| D (Subscrição de Cliente) | 0.00 | Idaho |
Fase 4: Subscritores com subscrições tanto de servidor quanto de cliente atualizam a linha
Suponha que o site D atualize a linha (altere-a para Novo México) e sincronize com o Editor. Em seguida, suponha que o Site B atualize a linha (altere-a para Califórnia).
| Sítio | Valor prioritário | Valor da linha |
|---|---|---|
| A (Editora) | 100.00 | Novo México |
| B (Subscrição do Servidor) | 75.00 | Califórnia |
| C (Subscrição do Servidor) | 50.00 | Idaho |
| D (Subscrição de Cliente) | 0.00 | Novo México |
Quando o site B é sincronizado com o Editor, 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 Publisher (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.) A vitória do Site D no conflito depende de o Editor não ter feito uma alteração ou recebido outra alteração desde que 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, será seguida a regra de prioridade mais alta ou "primeiro a chegar ao Publicador ganha."
Os valores finais, depois de sincronizados todos os sites, são mostrados aqui.
| Sítio | Valor prioritário | Valor da linha |
|---|---|---|
| A (Editora) | 100.00 | Novo México |
| B (Subscrição do Servidor) | 75.00 | Novo México |
| C (Subscrição de Servidor) | 50.00 | Novo México |
| D (Subscrição de 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 Subscritor tivesse o menor valor de prioridade dos três Subscritores, ganhou o conflito porque sincronizou com o Publicador (assumindo assim o valor de prioridade do Publicador de 100,00) 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.