Partilhar via


Tutorial: Configurar a replicação entre dois servidores totalmente conectados (transacional)

Aplica-se a:SQL Server

A replicação transacional é uma boa solução para o problema de mover dados entre servidores continuamente conectados. Ao usar o Assistente de Replicação, pode facilmente configurar e administrar uma topologia de replicação.

Este tutorial mostra-lhe como configurar uma topologia de replicação transacional para servidores continuamente ligados. Para mais informações sobre como funciona a replicação transacional, consulte a visão geral da replicação transacional.

O que vais aprender

Este tutorial ensina-o a publicar dados de uma base de dados para outra usando replicação transacional.

Neste tutorial, vai aprender a:

  • Crie um publicador com replicação transacional.
  • Crie um subscritor para o publicador transacional.
  • Valida a subscrição e mede a latência.

Pré-requisitos

Este tutorial destina-se a utilizadores familiarizados com operações básicas de bases de dados, mas que têm experiência limitada em replicação. Antes de começar este tutorial, deve completar o Tutorial: Prepare o SQL Server para replicação.

Para completar este tutorial, precisa do SQL Server, SQL Server Management Studio (SSMS) e de uma base de dados AdventureWorks:

Observação

A replicação não é suportada em instâncias do SQL Server que estejam separadas por mais de duas versões.

No SQL Server Management Studio, deve conectar-se ao publicador e ao assinante usando um login que seja membro do papel fixo de servidor sysadmin. Para mais informações sobre esta função, veja Funções ao nível do servidor.

Tempo estimado para completar este tutorial: 60 minutos

Configure o Publisher para replicação transacional

Nesta secção, cria uma publicação transacional usando SQL Server Management Studio para publicar um subconjunto filtrado da tabela Product na AdventureWorks2025 base de dados de exemplo. Também adiciona o login do SQL Server usado pelo Agente de Distribuição à lista de acesso à publicação (PAL).

Crie uma publicação e defina artigos

  1. Liga-te ao publicador no SQL Server Management Studio e depois expande o nó do servidor.

  2. Clique com o botão direito no SQL Server Agent e selecione Iniciar. O SQL Server Agent deve estar a correr antes de criar a publicação. Se este passo não iniciar o seu agente, terá de o fazer manualmente a partir do SQL Server Configuration Manager.

  3. Expanda a pasta Replicação , clique com o botão direito na pasta Publicações Locais e selecione Nova Publicação. Este passo inicia o Novo Mago de Publicação:

    Seleções para iniciar o New Publication Wizard

  4. Na página da Base de Dados de Publicações , selecione AdventureWorks2025, e depois selecione Próximo.

  5. Na página Tipo de Publicação , selecione Publicação Transacional e depois selecione Próximo:

    Página

  6. Na página de Artigos, expanda o nó Tabelas e selecione a caixa de seleção Produto. Depois, expande Produto e limpa as caixas de seleção ao lado de Preço de Lista e de Custo Padrão. Selecione Avançar.

    Página de

  7. Na página de Linhas da Tabela de Filtro , selecione Adicionar.

  8. Na caixa de diálogo Adicionar Filtro , selecione a coluna SafetyStockLevel . Selecione a seta da direita para adicionar a coluna à cláusula WHERE da consulta de filtro. Depois, digite manualmente o modificador da cláusula WHERE da seguinte forma:

    WHERE [SafetyStockLevel] < 500  
    

    Página

  9. Selecione OK e, em seguida, selecione Avançar.

  10. Selecione a caixa Criar um snapshot imediatamente e mantenha o snapshot disponível para inicializar subscrições, e selecione Seguinte:

    Página

  11. Na página Segurança do Agente, desmarque a caixa Usar as definições de segurança do Snapshot Agent.

    Selecione Definições de Segurança para o Agente de Snapshot. Introduza <Publisher_Machine_Name>\repl_snapshot na caixa Processar conta, introduza a palavra-passe dessa conta e depois selecione OK.

    Página

  12. Repita o passo anterior para definir <Publisher_Machine_Name>\repl_logreader como conta de processo para o Agente Leitor de Log. Em seguida, selecione OK.

    Caixa de diálogo

  13. Na página Completar o Assistente, escreva AdvWorksProductTrans na caixa de nome da Publicação e selecione Concluir:

    Página

  14. Depois de a publicação ser criada, selecione Fechar para completar o assistente.

Pode encontrar o seguinte erro se o seu SQL Server Agent não estiver a correr quando tentar criar a publicação. Este erro indica que a sua publicação foi criada com sucesso, mas o seu Snapshot Agent não conseguiu iniciar. Se isto acontecer, terá de iniciar o SQL Server Agent e depois iniciar manualmente o Snapshot Agent. A secção seguinte dá instruções.

Aviso de que o Snapshot Agent falhou em iniciar

Ver o estado da geração de instantâneos

  1. Liga-te ao editor no SQL Server Management Studio, expande o nó servidor e depois expande a pasta Replication .

  2. Na pasta Publicações Locais , clique com o botão direito em AdvWorksProductTrans e depois selecione Ver Estado do Agente de Snapshot:
    Comando no menu de atalho para visualizar o estado do Snapshot Agent

  3. O estado atual do trabalho de Agente de Snapshot para a publicação aparece. Verifique se a tarefa de snapshot foi bem-sucedida antes de continuar para a secção seguinte.

Se o seu SQL Server Agent não estava em execução quando criou a publicação, verá que o Snapshot Agent nunca foi executado ao verificar o estado do Snapshot Agent para a sua publicação. Se for esse o caso, selecione Iniciar para iniciar o seu Snapshot Agent:

botão

Se vir um erro aqui, consulte Erro do Agente de Instantâneo no Resolução de Problemas.

Adicionar o login do Agente de Distribuição ao PAL

  1. Liga-te ao editor no SQL Server Management Studio, expande o nó servidor e depois expande a pasta Replication .

  2. Na pasta Publicações Locais , clique com o botão direito em AdvWorksProductTrans e depois selecione Propriedades. A caixa de diálogo Propriedades de Publicação aparece.

    a. Selecione a página da Lista de Acesso à Publicação e selecione Adicionar.
    b) Na caixa de diálogo Adicionar Acesso à Publicação, selecione <Publisher_Machine_Name>\repl_distribution e selecione OK.

    Seleções para adicionar um login à lista de acesso à publicação

Para mais informações, veja Conceitos de programação de replicação.

Crie uma subscrição para a publicação transacional

Nesta secção, adiciona um assinante à publicação que criou anteriormente. Este tutorial utiliza um assinante remoto (NODE2\SQL2016), mas também pode adicionar uma assinatura localmente ao publicador.

Criar a subscrição

  1. Liga-te ao editor no SQL Server Management Studio, expande o nó servidor e depois expande a pasta Replication .

  2. Na pasta Publicações Locais , clique com o botão direito na publicação AdvWorksProductTrans e depois selecione Novas Subscrições. O Novo Assistente de Subscrição começa:

    Seleções para iniciar o Novo Assistente de Subscrição

  3. Na página de Publicação, selecione AdvWorksProductTrans e depois selecione Próximo:

    Página de

  4. Na página de Localização do Agente de Distribuição , selecione Executar todos os agentes no Distribuidor e depois selecione Próximo. Para mais informações sobre subscrições pull and push, consulte Subscrever publicações.

    Página

  5. Na página Subscritores, se o nome da instância do subscritor não estiver exibido, selecione Adicionar Subscritor e depois selecione Adicionar Subscritor do SQL Server na lista suspensa. Este passo abre a caixa de diálogo Ligar ao Servidor . Introduza o nome da instância do assinante e depois selecione Conectar.

    Depois de o assinante ser adicionado, selecione a caixa de seleção ao lado do nome da instância do seu assinante. Depois, selecione Nova Base de Dados em Base de Dados por Subscrição.

    Página

  6. A caixa de diálogo Nova Base de Dados aparece. Introduza Réplica de Produto na caixa de nome da base de dados , selecione OK e depois selecione Próximo:

    Introdução de um nome para a base de dados de subscrição

  7. Na página de Segurança do Agente de Distribuição , selecione o botão de reticência (...). Introduza <Publisher_Machine_Name>\repl_distribution na caixa Processar conta , introduza a palavra-passe desta conta, selecione OK e depois selecione Próximo.

    Informação da conta de distribuição na caixa de diálogo

  8. Selecione Terminar para aceitar os valores padrão nas páginas restantes e complete o assistente.

Definir permissões de base de dados no assinante

  1. Estabeleça ligação ao assinante no SQL Server Management Studio. Expanda Segurança, clique com o botão direito do mouse em Logons e selecione Novo Login.

    a. Na página Geral , em Nome de Login, selecione Pesquisar e adicione o login para <Subscriber_Machine_Name>\repl_distribution.

    b) Na página Mapeamentos de Usuários, conceda o login db_owner como membro da base de dados ProductReplica.

    Seleções para configurar o login no assinante

  2. Selecione OK para fechar a caixa de diálogo Novo Login .

Veja o estado de sincronização da subscrição

  1. Conecte-se ao editor no SQL Server Management Studio. Expande o nó do servidor e, em seguida, expande a pasta Replicação.

  2. Na pasta Publicações Locais , expanda a publicação AdvWorksProductTrans , clique com o botão direito na subscrição na base de dados ProductReplica e depois selecione Ver Estado de Sincronização. O estado atual de sincronização da subscrição aparece:

    Seleções para abrir a caixa de diálogo

  3. Se a subscrição não estiver visível em AdvWorksProductTrans, selecione a tecla F5 para atualizar a lista.

Para obter mais informações, consulte:

Mede a latência de replicação

Nesta secção, utiliza-se tokens rastreadores para verificar se as alterações estão a ser replicadas ao assinante e para determinar a latência. Latência é o tempo que demora até uma alteração feita no editor aparecer ao assinante.

  1. Conecte-se ao editor no SQL Server Management Studio. Expanda o nó do servidor, clique com o botão direito na pasta Replicação e selecione Iniciar o Monitor de Replicação:

    Comando

  2. Expanda um grupo de editores no painel esquerdo, expanda a instância do editor e depois selecione a publicação AdvWorksProductTrans .

    a. Selecione o separador Tokens de Rastreio.
    b) Selecione Inserir Rastreador.
    c. Veja o tempo decorrido para o token rastreador nas colunas seguintes: Editor para Distribuidor, Distribuidor para Assinante, Latência Total. O valor de Pendente indica que o token não atingiu um ponto especificado.

    Informação para o token traçador

Para obter mais informações, consulte:

Próximo passo