Partilhar via


Como funciona a replicação

A replicação de mesclagem com o Microsoft SQL Server Compact 3.5 (SQL Server Compact 3.5) segue este processo:

  1. Dados são publicados no SQL Server.
  2. Assinaturas para as publicações são criadas.
  3. Dados no Assinante são atualizados.
  4. Dados são sincronizados.

A tabela a seguir define alguns dos termos usados nesta seção.

Termo Definição

Artigo

Uma tabela de banco de dados é habilitada para replicação.

Publicação

Uma coleção de artigos.

Partição

Um conjunto específico de linhas ou colunas em uma publicação.

Publicador

Um banco de dados que torna uma publicação disponível por meio da replicação.

Assinante

Um banco de dados que recebe dados replicados e pode transmitir alterações de dados novamente ao Publicador.

Assinatura

Uma solicitação para uma cópia da publicação a ser distribuída para o Assinante.

Banco de dados de assinatura

Um banco de dados que recebe artigos publicados por um Publicador.

Publicando dados

As publicações especificam quais dados são publicados. As publicações normalmente são personalizadas para diferentes usuários ou grupos de usuários. Às vezes, todos os usuários precisam dos mesmos dados. Por exemplo, cada funcionário pode precisar de uma cópia do diretório de funcionários da empresa. Em outros casos, diferentes grupos de usuários precisam de partições diferentes de dados. Por exemplo, representantes de vendas podem precisar de um conjunto de dados, enquanto que técnicos do suporte ao cliente precisam de um conjunto de dados diferente. As pessoas também podem precisar de dados filtrados especificamente para elas. Um representante de vendas, por exemplo, pode precisar apenas de dados para ele mesmo ou para suas contas de clientes.

Quando você cria a publicação, especifica quais artigos ela contém. Embora as publicações do SQL Server possam conter outros objetos de banco de dados, como procedimentos armazenados, exibições e funções definidas pelo usuário, a replicação do SQL Server Compact 3.5 ignora esses objetos e só inclui tabelas na assinatura do SQL Server Compact 3.5. Você pode especificar quais linhas e colunas serão incluídas no artigo por meio da filtragem. Para obter mais informações, consulte "Replicação" nos Manuais Online do SQL Server.

Assinando publicações

Depois de definir a publicação, um aplicativo a assina programaticamente no dispositivo ou chamando os métodos revelados pelo objeto Replication do SQL Server Compact 3.5 ou classe SqlCeReplication ou usando o Assistente para Nova Assinatura no SQL Server Management Studio. Após a criação da assinatura, o instantâneo inicial do Distribuidor é aplicado ao banco de dados de assinatura do Assinante.

Atualizando dados no Assinante

Provavelmente seu aplicativo atualizará o banco de dados de assinatura. A replicação de mesclagem permite que cada banco de dados de assinatura seja atualizado de forma autônoma. As atualizações podem ocorrer se o dispositivo estiver ou não conectado à rede. Cada banco de dados SQL Server Compact 3.5 usa o controle de alterações para manter o controle das instruções INSERT, UPDATE e DELETE feitas no Assinante do SQL Server Compact 3.5. O controle em nível de linha e em nível de coluna pode ser usado.

Sincronizando dados

Normalmente, os usuários conectam o dispositivo à rede de forma intermitente. Essas conexões permitem que o aplicativo sincronize alterações feitas no Assinante com alterações feitas no Publicador. O aplicativo inicia a sincronização chamando os métodos de sincronização revelados pelo objeto Replicationou a classe SqlCeReplication. A sincronização é um processo de quatro etapas.

  1. Extraia as alterações e crie o arquivo de mensagem de entrada.
    O Agente de Cliente do SQL Server Compact 3.5 extrai todos os registros inseridos, atualizados e excluídos do banco de dados de assinatura no Assinante do SQL Server Compact 3.5 e os propaga para o Agente de Servidor do SQL Server Compact 3.5 via HTTP. O Agente de Servidor do SQL Server Compact 3.5 cria um novo arquivo de mensagem de entrada e grava nesse arquivo as alterações de inserção, atualização e exclusão enviadas para o Agente de Cliente do SQL Server Compact 3.5.

  2. Execute o processo do SQL Server Reconciler e aplique as alterações ao banco de dados de publicação.
    Quando todas as solicitações são gravadas no arquivo de mensagem de entrada, o Agente de Servidor do SQL Server Compact 3.5 inicia o SQL Server Reconciler. O SQL Server Reconciler carrega o Provedor de Replicação do SQL Server Compact 3.5, que lê o arquivo de mensagem de entrada e informa ao SQL Server Reconciler as alterações feitas no banco de dados de assinatura do SQL Server Compact 3.5 que devem ser aplicadas ao banco de dados de publicação no Publicador. Durante o processamento, o SQL Server Reconciler detecta e resolve os conflitos. Um conflito ocorre quando mais de um Assinante ou Publicador atualiza o mesmo registro.

    Dica

    O SQL Server Reconciler resolve conflitos com resolvedores de conflitos. Você pode usar os resolvedores de conflitos fornecidos com o SQL Server para implementar uma resolução de conflito simples para seus aplicativos de replicação do SQL Server Compact 3.5 ou pode gravar resolvedores de conflitos personalizados para implementar soluções mais sofisticadas. Para obter mais informações, consulte Detecção e resolução de conflitos de replicação.

  3. Crie o arquivo de mensagem de saída.
    O SQL Server Reconciler informa ao Provedor de Replicação do SQL Server Compact 3.5 sobre as alterações feitas no Publicador que devem ser aplicadas ao banco de dados de assinatura no dispositivo. O Provedor de Replicação do SQL Server Compact 3.5 grava as alterações em um arquivo de mensagem de saída no servidor que está executando o IIS.

  4. Leia o arquivo de mensagem de saída e aplique as alterações no banco de dados de assinatura do SQL Server Compact 3.5.
    Quando o processo do SQL Server Reconciler é concluído, o Agente de Servidor do SQL Server Compact 3.5 localiza o arquivo de mensagem de saída criado pelo Provedor de Replicação do SQL Server Compact 3.5. Esse arquivo contém as alterações que ocorreram no Publicador e que devem ser aplicadas ao banco de dados de assinatura no dispositivo. O Agente de Servidor do SQL Server Compact 3.5 lê o arquivo de mensagem de saída e o transmite para o Agente de Cliente do SQL Server Compact 3.5 no dispositivo. O Agente de Cliente do SQL Server Compact 3.5 aplica as alterações do arquivo de mensagem de saída para o banco de dados de assinatura do SQL Server Compact 3.5 .

    Dica

    O Agente de Cliente do SQL Server Compact 3.5 processa os arquivos de mensagem de entrada e saída em blocos lógicos e os lê a partir do banco de dados de assinatura no dispositivo, ou aplica alterações nele. Processando cada arquivo de mensagem dessa forma, o Agente de Cliente do SQL Server Compact 3.5 impede a gravação do arquivo de mensagem inteiro no dispositivo, conservando espaço de armazenamento no dispositivo.

Depois que o Agente de Cliente do SQL Server Compact 3.5 incorpora todas as alterações no banco de dados de assinatura no dispositivo e todos os conflitos são resolvidos, os bancos de dados de publicação e assinatura são sincronizados e os dados são convergidos. No entanto, como as atualizações podem ocorrer continuamente, os valores dos dados podem não ser os mesmos no Publicador e nos Assinantes.

Importante

Você não pode iniciar dois processos de replicação de mesclagem ao mesmo tempo no mesmo banco de dados.