Sincronizar dados

Aplica-se a:SQL ServerInstância Gerenciada de SQL do Azure

A sincronização de dados refere-se ao processo em que as alterações nos dados e no esquema são propagadas entre o Publicador e os Assinantes após o snapshot inicial ser aplicado no Assinante. A sincronização pode acontecer:

  • Continuamente, o que é típico para replicação transacional.

  • Sob demanda, o que é típico da replicação por mesclagem.

  • De acordo com uma programação, como é típico da replicação por snapshot.

Quando uma assinatura é sincronizada, diferentes processos acontecem baseados no tipo de replicação que você está usando:

  • Replicação de snapshot A sincronização significa que o Agente de Distribuição reaplica o instantâneo no Assinante para que o esquema e os dados no banco de dados de assinatura fiquem consistentes com o banco de dados da publicação.

    Se alterações nos dados ou no esquema tiverem sido feitas no Publicador, um novo instantâneo deve ser gerado para propagar as modificações ao Assinante.

  • Replicação transacional. A sincronização significa que o Agente de Distribuição transfere atualizações, inserções, exclusões e quaisquer outras modificações do banco de dados de distribuição ao Assinante.

  • Replicação de mesclagem. A sincronização significa que o Agente de Mesclagem carrega alterações do Assinante ao Publicador e depois baixa as alterações do Publicador ao Assinante. Conflitos, se houver, são detectados e resolvidos. Os dados são convergidos e o Publicador e todos os Assinantes eventualmente acabam com os mesmos valores de dados. Se conflitos forem detectados e resolvidos, o trabalho confirmado por alguns usuários será alterado para que o conflito seja resolvido de acordo com as políticas que você definir.

As publicações de instantâneo atualizam completamente o esquema no Assinante sempre que ocorre a sincronização, de modo que todas as alterações de esquema são aplicadas ao Assinante. Replicação transacional e replicação de mesclagem também oferecem suporte às alterações de esquema mais comuns. Para obter mais informações, consulte Make Schema Changes on Publication Databases (Fazer alterações de esquema em bancos de dados de publicação).

Para sincronizar uma assinatura push, consulte Synchronize a Push Subscription.

Para sincronizar uma assinatura pull, consulte Synchronize a Pull Subscription.

Para definir agendas de sincronização, consulte Specify Synchronization Schedules.

Para exibir e resolver conflitos de sincronização

Executando código durante sincronização

A replicação suporta dois métodos de execução de código durante a sincronização

  • Há suporte para execução de scripts sob demanda na replicação transacional e na replicação de mesclagem. Usando em execução de script sob demanda, você pode especificar um script SQL para ser executado durante a sincronização. O script é copiado ao Assinante e executado usando sqlcmd no começo do processo de sincronização. O script não tem acesso às alterações replicadas enquanto elas são aplicadas ao Assinante. Para obter mais informações, consulte Executar scripts durante a sincronização (Programação do Transact-SQL de Replicação).

  • Manipuladores de lógica de negócios possuem suporte para replicação de mesclagem. Usando o framework de manipulador de lógica de negócios, você pode escrever um assembly de código gerenciado que é chamado durante o processo de sincronização de mesclagem. O assembly inclui lógica comercial que pode responder a uma série de condições durante a sincronização: alterações de dados, conflitos e erros. Para obter mais informações, consulte Executar lógica de negócios durante a sincronização de mesclagem.