Eu tenho 2 instâncias do SQL Server onde uso a replicação de mesclagem em um banco de dados. Um desenvolvedor acidentalmente inseriu dados no assinante e no editor ao mesmo tempo. Agora tenho dados em ambos os bancos de dados, mas com diferentes rowguids.
P: Posso excluir essas linhas com diferentes rowguids do assinante e as linhas no editor permanecerem intactas? Em caso afirmativo, as linhas do editor serão replicadas de volta para o assinante, mas agora com o mesmo rowguid?
Se a mesma linha lógica tiver dois
rowguid
valores diferentes no editor e no assinante, haverá um conflito.As alterações são replicadas usando a
rowguid
coluna, portanto, diferenterowguid
significa linhas diferentes no que diz respeito à replicação. Você pode excluir com segurança a linha duplicada no assinante e as alterações não serão replicadas para o editor (a linha com uma correspondênciarowguid
não está presente no editor devido ao conflito de upload).Depois que a linha for excluída no assinante, o agente de mesclagem poderá inserir no assinante a linha do editor.
A replicação de mesclagem é bidirecional por padrão, portanto, se você excluir uma linha no Assinante, essa alteração será replicada e a mesma linha será excluída no Publicador e vice-versa.