Como sincronizar manualmente as inscrições de replicação usando backup ou restauração

Traduções deste artigo Traduções deste artigo
ID do artigo: 320499 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo descreve como sincronizar manualmente as inscrições de envio de replicação usando backup e restauração.

Às vezes, você não é possível sincronizar totalmente inscrições de replicação usando o método padrão por causa das seguintes razões possíveis:
  1. Você tem grandes tabelas que deseja transferir para o assinante.
  2. Largura de banda da rede pode manipular apenas alterações incrementais; portanto, BCPs grandes podem expirar.
  3. O Editor é um servidor de produção; portanto, negócios precisa exigem o tempo para baixo para ser minimizada.
Nesses casos, você pode usar backups do SQL Server para criar cópias do banco de dados publicado e em seguida, você pode restaurar os dados no assinante; fazendo isso, você pode configurar a replicação e testar o uso da replicação, sem fornecer os dados de esquema ou de usuário pela rede. As seções a seguintes listam as etapas e considerações que deseja usar para verificar que a sincronização manual foi bem-sucedida.

Replicação transacional

Replicação transacional armazena e encaminha transações seriais para o assinante. É crucial que alterações em tabelas publicadas são fornecidas para o assinante na ordem em que foram enviadas.

Com uma nova assinatura, a replicação transacional marca cada alteração para a tabela publicada (ou tabelas) no log de transação. O método de entrega padrão inscrição bloqueia as tabelas, exporta os dados usando o utilitário bcp , desbloqueia tabelas publicadas e começa a controle de alterações para o banco de dados publicado. No SQL Server 2000, o recurso de Instantâneo simultâneos melhora Snapshot sobrecarga de bloqueio. SQL Server 2000 e o SQL Server 7.0 podem transferir o instantâneo usando protocolo de transferência de arquivo (FTP). No entanto, você pode usar o método de backup para situações em que essas opções não forem aceitáveis.

Fazendo backup de banco de dados publicado e restaurá-la para o assinante, você pode reduzir o tempo de processo de criação do instantâneo para o tempo que leva para fazer o backup do banco de dados publicado. O backup do banco de dados inclui todos os objetos que não são transferidos para o assinante de replicação; você não têm que executar uma transferência de bcp das tabelas através da rede.

Há dois métodos para fazer backup do banco de dados publicado. O primeiro método usa um backup completo do banco de dados publicado. O método de backup total funciona melhor se o banco de dados for pequeno ou se o banco de dados não está configurado para modo de recuperação total. O segundo método usa um backup do log de transações e pressupõe que você já tenha capturado um backup completo do banco de dados. O método de backup de log de transação diminui o tempo que o banco de dados deve estar no modo de usuário único. Backups do log de transações levará menos tempo que os backups totais. Se você planeja usar o método de backup de log de transação, siga estas etapas:
  1. Se o banco de dados publicado não está sendo executado no recuperação total modo, alterá-lo para o modo de recuperação total.
  2. Fazer backup do banco de dados publicado.
  3. Fazer backup do arquivo log para minimizar o tempo que demora para percorrer as etapas de assinatura e, em seguida, siga as etapas no próximo procedimento.
Para configurar a inscrição, execute essas etapas:
  1. Coloque o banco de dados publicado no modo de usuário único para impedir alterações sendo feita no banco de dados executando o procedimento armazenado: sp_dboption 'DBNAME', 'usuário único', 'true' . Isso impede que alterações sendo feita no banco de dados. Esta é uma etapa crítica; você está fazendo-se de que o publisher permanece sincronizado com o assinante. Você deve interromper todos os agentes de replicação conectados ao banco de dados antes de executar o procedimento sp_dboption armazenados.
  2. Se você estiver usando o método de backup total, fazer backup de banco de dados publicado. Se você estiver usando o método de log de transação, fazer backup de log de transações para o banco de dados publicado.
  3. Crie uma nova inscrição à publicação. Selecione não para fornecer os dados e o esquema.
  4. Enquanto você estiver configurando a inscrição, procure a tela de agendamento do agente de distribuição. Altere a tarefa seja executada apenas uma vez. (Isso impede que o Distribution Agent em execução até após você restaurar o banco de dados [e o backup de log de transação] para o assinante.)
  5. Remover o banco de dados de modo de usuário único usando a seguinte chamada de procedimento armazenado: sp_dboption 'DBNAME', 'usuário único', 'false' . Porque a inscrição está configurada, todas as alterações são encaminhadas para o banco de dados de distribuição.
  6. Restaure o banco de dados no assinante. Se você estiver usando o método de log de transação, restaure o backup completo e o backup de log de transação. O Distribution Agent não deve estar executando neste momento. Se for, ela irá impedir que o banco de dados que está sendo restaurado. O Agente de agendamento foi alterado na etapa 4.
  7. Gere os procedimentos de Insert , Update e Delete que são usados durante a replicação. Você pode gerar as instruções de CREATE PROCEDURE para esses procedimentos executando um dos seguintes procedimentos: (os procedimentos variam dependendo do tipo de replicação e a versão do SQL Server)
    1. Para o SQL Server 2000: sp_scriptpublicationcustomprocs

      Execute sp_scriptpublicationcustomprocs no Editor. Esse procedimento gera texto para os procedimentos armazenados que são necessários no assinante. Execute o script gerado no banco de dados de inscrição.
    2. Para atualização imediata e assinantes em fila: sp_script_synctran_commands

      Observação A atualização imediata e assinantes em fila são uma exceção para a etapa 4. Você deve executar o agente de distribuição antes de aplicar a saída para sp_script_synctran_commands ao banco de dados do assinante porque o Distribution Agent gera uma tabela de suporte que é chamada MSsubscription_agents . Após você execute o Distribution Agent, aplica o script que é gerado pelo sp_script_synctran_commands ao banco de dados do assinante. Você também deve executar o procedimento sp_scriptpublicationcustomprocs armazenados para os assinantes de atualização imediatos no Editor e o script gerado na inscrição banco de dados.

    3. Você deve aplicar a saída para sp_script_synctran_commands ao banco de dados do assinante; no entanto, primeiro você deve executar o Distribution Agent para gerar uma tabela de suporte denominada MSsubscription_agents e, em seguida, você pode aplicar a saída gerada quando você executa sp_script_synctran_commands . Você também deve executar sp_scriptpublicationcustomprocs para assinantes de atualização imediata no Editor. Execute o script gerado no banco de dados de inscrição.
    4. Para o SQL Server 7.0: Sp_scriptinsproc sp_scriptdelproc , sp_scriptupdproc , sp_scriptmappedupdproc

      Esses procedimentos geram scripts para os procedimentos que são necessários no assinante. Execute esses scripts no banco de dados inscritos.
  8. Inicie o Distribution Agent. Convém configurar o Distribution Agent para executar continuamente. Para fazer isso, adicione - contínua à linha de comando Distribution Agent.
Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
299903CORRECÇÃO: sp_scriptpublicationcustomprocs gera procedimentos armazenados de replicação

Replicação de mesclagem

Observação Não sincronizar inscrições não há suporte para inscrições de recepção de mesclagem.

Ao usar o backup ou restauração para configurar uma inscrição para uma publicação de mesclagem com a opção de não-sincronização, siga estas etapas:
  1. Publicar o banco de dados e, em seguida, execute o Snapshot Agent. Se o banco de dados tiver sido publicado, você só precisará execute o Snapshot Agent.

    Todas as alterações feitas no Editor agora sejam gravadas nas tabelas de sistema replicação de mesclagem.
  2. Backup de banco de dados publicado e depois restaurá-lo no assinante.
  3. Criar uma nova inscrição e clique em não, o assinante já possui o esquema e dados .
  4. Execute o agente de mesclagem.

    Quando o agente de mesclagem é executada, ele usa primeiro o instantâneo para criar a mesclagem tabelas de replicação. Todas as alterações que foram feitas desde o instantâneo foi gerado sejam aplicadas para o assinante:
    • Se você adicionou quaisquer linhas entre etapa 1 e a etapa 2 deste procedimento, você verá as novas linhas como atualizações no assinante. As linhas já existem devido a restauração. Portanto, você verá as novas linhas no assinante.
    • Se tiver excluído as linhas entre etapa 1 e a etapa 2 deste procedimento, o agente de mesclagem reporta que nenhuma alteração deve ser feita porque as linhas não existem no assinante. O backup ou restauração foi executada depois que as linhas foram excluídas no Editor.
    • Se as linhas foram atualizadas entre etapa 1 e a etapa 2 deste procedimento, você verá como as atualizações no assinante.

Mais Informações

Para obter mais informações sobre como inicializar uma inscrição transacional de um backup do SQL Server 2005, visite o seguinte site da Web Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/ms151705.aspx
Para obter mais informações sobre como inicializar uma inscrição de mesclagem de um backup do SQL Server 2005, visite o seguinte site da MSDN:
http://msdn2.microsoft.com/en-us/library/ms152488.aspx

Propriedades

ID do artigo: 320499 - Última revisão: segunda-feira, 12 de novembro de 2007 - Revisão: 7.1
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Developer Edition
Palavras-chave: 
kbmt kbhowtomaster KB320499 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 320499

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com