Assinando publicações

Uma assinatura é uma solicitação para se obter uma cópia dos dados e objetos do banco de dados em uma publicação. Uma assinatura define qual publicação será recebida, e onde e quando será recebida. Ao planejar assinaturas, considere onde o processamento de agente deverá acontecer. O tipo de assinatura selecionado controla onde o agente é executado. Com uma assinatura push, o Merge Agent ou o Distribution Agent são executados no Distribuidor, enquanto que, com uma assinatura pull, os agentes são executados nos Assinantes. Após a criação de uma assinatura, ela não pode ser alterada de um tipo para outro.

Assinatura

Características

Use quando

Assinatura push

Em uma assinatura push, o Publicador propaga alterações para o Assinante sem solicitação do Assinante. As alterações podem ser empurradas para os Assinantes sob demanda continuamente ou com base em agendamento. O Distribution Agent ou o Merge Agent são executados no Distribuidor.

  • Os dados são sincronizados de forma contínua ou com base em uma agenda que recorre com freqüência.

  • As publicações requerem movimentação de dados tempo quase real.

  • A sobrecarga do processador superior no Distribuidor não afeta o desempenho.

  • É usado com mais freqüência com replicação de transação e de instantâneo.

Assinatura pull

Em uma assinatura pull, o Assinante solicita que alterações sejam feitas no Publicador. As assinaturas pull permitem que o usuário, no Assinante, determine quando as alterações de dados serão sincronizadas. O Distribution Agent ou o Merge Agent são executados no Assinante.

  • Em geral, os dados são sincronizados sob demanda ou com base em uma agenda, em vez de continuamente.

  • A publicação tem um grande número de Assinantes, e/ou demandaria muitos recursos para executar todos os agentes no Distribuidor.

  • Os assinantes são autônomos, desconectados, e/ou móveis. Os assinantes determinam quando as alterações são conectadas e sincronizadas.

  • Usado com mais freqüência com replicação de mesclagem.

Tipos de assinatura de replicação de mesclagem

Todos os tipos de replicação permitem assinaturas push e pull. A replicação de mesclagem usa duas condições a mais para distinguir assinaturas: assinatura de cliente e assinatura de servidor. Os tipos de assinatura de cliente e de servidor podem ser usados com assinaturas push e pull. As assinaturas de cliente são apropriadas para a maioria dos Assinantes, enquanto que as assinaturas de servidor são usadas, em geral, para Assinantes que republicam dados em outros Assinantes. A opção de assinatura também afeta a resolução de conflitos. Para obter mais informações sobre os tipos de assinatura, consulte a seção “Tipos de assinatura” em Como a replicação de mesclagem detecta e soluciona conflitos. Após a criação de uma assinatura, ela não pode ser alterada de um tipo para outro.

Assinantes não-SQL Server

O Oracle e o IBM DB2 podem assinar as publicações de instantâneo e transacionais usando assinaturas push. Para obter mais informações, consulte Assinantes não SQL Server.

Criando assinaturas

Para criar uma assinatura, forneça as seguintes informações:

  • Nome da publicação.

  • Nome do Assinante e o banco de dados de assinatura.

  • Se o Distribution Agent ou o Merge Agent forem executados no Distribuidor ou no Assinante.

  • Se o Distribution Agent ou Merge Agent forem executados de forma contínua, com base em uma agenda ou somente sob demanda.

  • Se o Snapshot Agent precisar criar um instantâneo inicial para a assinatura e se o Distribution Agent ou Merge Agent devem aplicar esse instantâneo no Assinante.

  • As contas nas quais o Distribution Agent ou Merge Agent serão executados.

  • Com relação à replicação de mesclagem, o tipo de assinatura: de servidor ou cliente.

Para criar uma assinatura push

Para exibir ou modificar propriedades de assinatura push

Para excluir uma assinatura push

ObservaçãoObservação

Excluir uma assinatura não remove objetos publicados no Assinante.

Para criar uma assinatura pull

Para exibir ou modificar propriedades de assinatura pull

Para excluir uma assinatura pull