Como sincronizar manualmente as subscrições de replicação utilizando cópia de segurança ou restauro

Traduções de Artigos Traduções de Artigos
Artigo: 320499 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo descreve como sincronizar manualmente a replicação por emissão subscrições utilizando cópia de segurança e restauro.

Por vezes, não pode sincronizar totalmente subscrições de replicação utilizando o método predefinido por causa das seguintes razões possíveis:
  1. Tem grandes tabelas que tem de transferir para o subscritor.
  2. Largura de banda da rede só pode processar alterações incrementais; por conseguinte, BCPs grandes poderão exceder o tempo limite.
  3. O Editor é um servidor de produção; por este motivo, empresa necessita de necessitar de tempo para baixo para ser minimizado.
Nestes casos, pode utilizar cópias de segurança do SQL Server para criar cópias da base de dados publicado e, em seguida, pode restaurar os dados no subscritor; ao fazê-lo, pode configurar a replicação e testar a utilização da replicação, sem fornecer os dados de esquema ou de utilizador através da rede. As secções seguintes listam os passos e considerações sobre o que tem de utilizar para garantir que a sincronização manual for bem sucedida.

Replicação transaccional

Replicação transaccional armazena e reencaminha transacções série para o subscritor. É essencial que são entregues as alterações as tabelas publicadas para o subscritor pela ordem em que foram submetidas.

Com uma nova subscrição, replicação transaccional marca cada alteração à publicado tabela (ou tabelas) no registo de transacções. O método de entrega predefinido subscrição bloqueia as tabelas, exporta os dados utilizando o utilitário bcp , desbloqueia tabelas publicadas e, em seguida, começa a registar alterações à base de dados publicada. No SQL Server 2000, a funcionalidade de Snapshot concorrentes melhora Snapshot bloqueio sobrecarga. SQL Server 2000 e o SQL Server 7.0 podem transferir o snapshot, utilizando o protocolo FTP (File Transfer Protocol). No entanto, pode utilizar o método de cópia de segurança para situações em que estas opções não forem aceitáveis.

Ao efectuar cópia publicada base de dados de segurança e restaurar para o subscritor, pode reduzir a hora de processo de criação do instantâneo o tempo que demora a cópia de segurança a base de dados publicada. A cópia de segurança da base de dados inclui todos os objectos que não são transferidos para o subscritor pela replicação; não é necessário que efectuar uma transferência bcp das tabelas através da rede.

Existem dois métodos para cópia de segurança de base de dados publicada. O primeiro método utiliza uma cópia de segurança completa da publicado base de dados. O método de cópia de segurança completa funciona melhor se a base de dados for pequena ou se a base de dados não está configurado para modo de recuperação total. O segundo método utiliza uma cópia de segurança transacção do registo e parte do princípio de que capturadas já uma cópia de segurança completa da base de dados. O método de cópia de segurança de registo de transacções diminui o tempo que a base de dados têm de estar no modo de utilizador único. Cópias de segurança de registo de transacções demoram menos tempo do que cópias de segurança completas. Se pretender utilizar o método de cópia de segurança de registo de transacções, siga estes passos:
  1. Se a base de dados publicada não está em execução na recuperação total modo, mudar para modo de recuperação total.
  2. Cópia de segurança de base de dados publicada.
  3. Back up file do registo to minimizar o tempo que demora percorra os passos de subscrição e, em seguida, siga os passos no procedimento seguinte.
Para configurar a subscrição, siga estes passos:
  1. Colocar a base de dados publicada no modo de utilizador único para impedir que as alterações a ser efectuadas na base de dados, executando o procedimento armazenado seguinte: sp_dboption 'DBNAME', 'utilizador único', 'true' . Isto impede que as alterações a ser efectuadas na base de dados. Este é um passo crítico; está a tornar-se de que o publisher permanece sincronizado com o subscritor. Tem de parar todos os agentes de replicação ligados à base de dados antes de executar o procedimento sp_dboption armazenados.
  2. Se estiver a utilizar o método de cópia de segurança completa, cópia de segurança de base de dados publicada. Se estiver a utilizar o método de registo de transacções, cópia de segurança registo de transacções para a base de dados publicada.
  3. Criar uma nova subscrição à publicação. Seleccione não para fornecer os dados e esquema.
  4. Enquanto estiver a configurar a subscrição, procure o ecrã de agenda de agente de distribuição. Alterar a tarefa para ser executado apenas uma vez. (Isto impede o serviço de distribuição com até depois de restaurar a base de dados [e cópia de segurança da registo transacção] para o subscritor.)
  5. Remover a base de dados de modo de utilizador individual utilizando a chamada de procedimento armazenado seguinte: sp_dboption 'DBNAME', 'utilizador único', 'false' . Porque a subscrição está configurada, todas as alterações são reencaminhadas para a base de dados de distribuição.
  6. Restaure a base de dados no subscritor. Se estiver a utilizar o método de registo de transacções, restaure a cópia de segurança completa e cópia de segurança a registo de transacções. O serviço de distribuição deve não estar em execução neste momento. Se for, impedirá a base de dados de que está a ser restaurado. O Serviço de agenda mudou no passo 4.
  7. Gera os procedimentos de Inserir , Actualizar e Eliminar utilizados durante a replicação. É possível gerar as instruções CREATE PROCEDURE para estes 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 o fabricante. Este procedimento gera texto para os procedimentos armazenados que são necessários no subscritor. Execute o script gerado na base de dados de subscrição.
    2. Para actualizar imediatamente e os subscritores em fila: sp_script_synctran_commands

      Nota Actualizar de imediato e os subscritores em fila são uma excepção para o passo 4. Tem de executar o serviço de distribuição antes de aplicar a saída de sp_script_synctran_commands a base de dados do subscritor porque o Distribution Agent gera uma tabela de suporte que chama MSsubscription_agents . Depois de executar o serviço de distribuição, aplicam-se o script é gerado pelo sp_script_synctran_commands à base de dados subscritor. Deve também executar o procedimento sp_scriptpublicationcustomprocs armazenados para os subscritores actualização imediatos sobre o fabricante e o script gerado na base de dados de subscrição.

    3. Tem de aplicar a saída de sp_script_synctran_commands à base de dados subscritor; no entanto, primeiro tem de executar o serviço de distribuição para gerar uma tabela de suporte com o nome MSsubscription_agents e, em seguida, pode aplicar a saída gerada quando executa sp_script_synctran_commands . Deve também executar sp_scriptpublicationcustomprocs para subscritores actualização imediata sobre o fabricante. Execute o script gerado na base de dados de subscrição.
    4. Para o SQL Server 7.0: Sp_scriptinsproc sp_scriptdelproc , sp_scriptupdproc , sp_scriptmappedupdproc

      Estes procedimentos geram scripts para os procedimentos que são necessários no subscritor. Execute estes scripts contra a base de dados de subscrição.
  8. Inicie o serviço de distribuição. Poderá configurar o serviço de distribuição para ser executado continuamente. Para tal, adicione - contínua à linha de comandos de serviço de distribuição.
Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
299903CORRECÇÃO: sp_scriptpublicationcustomprocs gera procedimentos armazenado de replicação

Replicação de intercalação

Nota Não sincronizar subscrições não são suportadas para subscrições de solicitação de intercalação.

Quando utilizar cópia de segurança ou restauro para configurar uma subscrição para uma publicação de impressão em série com a opção de sincronização não, siga estes passos:
  1. Publicar a base de dados e, em seguida, execute o agente Snapshot. Se a base de dados foi publicado, tem apenas de executar o agente de Snapshot.

    Todas as alterações efectuadas no Editor agora são registadas nas tabelas de sistema de replicação impressão em série.
  2. Efectue uma cópia publicada base de dados de segurança e, em seguida, restaurá-la no subscritor.
  3. Criar uma nova subscrição e, em seguida, seleccione não, o subscritor já tem o esquema e dados .
  4. Execute o serviço de impressão em série.

    Quando executa o serviço de impressão em série, primeiro utiliza o instantâneo para criar tabelas de replicação a intercalação. Todas as alterações que foram efectuadas desde que foi criado o snapshot serão aplicadas ao subscritor:
    • Se tiver adicionado todas as linhas entre passo 1 e o passo 2 deste procedimento, poderá ver as novas linhas como actualizações no subscritor. As linhas já existirem devido a restaurar. Por conseguinte, poderá ver as novas linhas no subscritor.
    • Se tiver eliminado todas as linhas entre passo 1 e o passo 2 deste procedimento, o agente de intercalação comunica que não devem ser efectuadas alterações porque as linhas não existirem no subscritor. A cópia de segurança ou restauro foi executado depois das linhas foram eliminadas no Editor.
    • Se as linhas foram actualizadas entre passo 1 e o passo 2 deste procedimento, poderá ver estes como actualizações no subscritor.

Mais Informação

Para obter mais informações sobre como inicializar uma subscrição transaccional a partir de uma cópia de segurança no SQL Server 2005, visite o seguinte Web site da Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/ms151705.aspx
Para obter mais informações sobre como inicializar uma subscrição de impressão em série a partir de uma cópia de segurança no SQL Server 2005, visite o seguinte site da Web MSDN:
http://msdn2.microsoft.com/en-us/library/ms152488.aspx

Propriedades

Artigo: 320499 - Última revisão: 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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