Partilhar via


Sobre o envio de logs (SQL Server)

Aplica-se a:SQL Server

O envio de logs do SQL Server permite enviar automaticamente backups de log de transações de um banco de dados primário em uma instância do servidor primário para um ou mais bancos de dados secundários em instâncias de servidor secundário separadas. Os backups de log de transações são aplicados a cada um dos bancos de dados secundários individualmente. Uma terceira instância opcional do servidor, conhecida como servidor monitor, registra o histórico e o status das operações de backup e restauração e, opcionalmente, gera alertas se essas operações não ocorrerem conforme programado.

Visão geral do envio de logs

O envio de logs consiste em três operações:

  1. Faça backup do log de transações na instância do servidor primário.
  2. Copie o arquivo de log de transações para a instância do servidor secundário.
  3. Restaure o backup de log na instância do servidor secundário.

O log pode ser enviado para várias instâncias de servidor secundário. Nesses casos, as operações 2 e 3 são duplicadas para cada instância do servidor secundário.

Uma configuração de envio de logs não faz failover automaticamente do servidor primário para o servidor secundário. Se o banco de dados primário ficar indisponível, qualquer um dos bancos de dados secundários poderá ser colocado online manualmente.

Você pode usar um banco de dados secundário para fins de relatório.

Além disso, você pode configurar alertas para sua configuração de envio de logs.

Uma configuração típica de envio de logs

A figura a seguir mostra uma configuração de envio de logs com a instância do servidor primário, três instâncias do servidor secundário e uma instância do servidor monitor. A figura ilustra as etapas executadas pelos trabalhos de backup, cópia e restauração, da seguinte maneira:

  1. A instância do servidor primário executa o trabalho de backup para fazer backup do log de transações no banco de dados primário. Em seguida, essa instância do servidor coloca o backup de log em um arquivo de backup de log primário, que é enviado para a pasta de backup. Nesta figura, a pasta de backup está em um diretório compartilhado - o compartilhamento de backup.

  2. Cada uma das três instâncias do servidor secundário executa seu próprio trabalho de cópia para copiar o arquivo de backup de log primário para sua própria pasta de destino local.

  3. Cada instância do servidor secundário executa seu próprio trabalho de restauração para restaurar o backup de log da pasta de destino local para o banco de dados secundário local.

As instâncias do servidor primário e secundário enviam seu próprio histórico e status para a instância do servidor monitor.

Diagrama de configuração mostrando trabalhos de backup, cópia e restauração.

Impor criptografia TLS 1.3

O SQL Server 2025 (17.x) introduz suporte TDS 8.0 para o transporte de logs. O protocolo TDS 8.0 fornece segurança e criptografia aprimoradas para dados transmitidos entre os servidores primário e secundário de uma topologia de envio de logs. Escolha entre impor criptografia obrigatória ou rigorosa para comunicação entre servidores.

No SQL Server 2025 (17.x), o envio de logs utiliza o Microsoft OLE DB Driver for SQL Server como versão padrão para servidores vinculados, que têm um valor padrão Encrypt de Mandatory.

Para usar a criptografia TLS 1.3 em sua configuração de envio de logs existente, solte e recrie a topologia usando os novos parâmetros TLS 1.3 nos procedimentos armazenados de envio de logs.

A monitorização do envio de logs pode falhar se o monitor for uma instância remota do SQL Server 2025

A monitorização do envio de registos pode falhar se o monitor for uma instância remota do SQL Server 2025 (17.x), quando outras instâncias do SQL Server na topologia de envio de registos usam uma versão anterior. Pode aparecer um dos seguintes erros:

OLE DB provider "MSOLEDBSQL19" for linked server "<server>" returned message "Client unable to establish connection. For solutions related to encryption errors, see https://go.microsoft.com/fwlink/?linkid=2227882.".

Ou:

Msg 32055, Level 16, State 2, Procedure master.dbo.sp_add_log_shipping_primary_database, Line 325 [Batch Start Line 10]
There was an error configuring the remote monitor server.

Para contornar este problema, elimine e recrie a configuração de envio de logs tanto nas réplicas primárias como nas secundárias. Um script de exemplo está disponível em Usar um monitor remoto com opções de conectividade.

Para mais informações, veja Comportamento de encriptação e validação de certificados.

Benefícios

  • Fornece uma solução de recuperação de desastres para um único banco de dados primário e um ou mais bancos de dados secundários, cada um em uma instância separada do SQL Server.

  • Suporta acesso somente leitura limitado a bancos de dados secundários (durante o intervalo entre os trabalhos de restauração).

  • Permite um atraso especificado pelo usuário entre quando o servidor primário faz backup do log do banco de dados primário e quando os servidores secundários devem restaurar (aplicar) o backup de log. Um atraso maior pode ser útil, por exemplo, se os dados forem acidentalmente alterados no banco de dados primário. Se a alteração acidental for notada rapidamente, um atraso pode permitir que você recupere dados ainda inalterados de um banco de dados secundário antes que a alteração seja refletida lá.

Termos e definições

  • servidor primário: a instância do SQL Server que é seu servidor de produção.

  • banco de dados primário: o banco de dados no servidor primário do qual você deseja fazer backup em outro servidor. Toda a administração da configuração de envio de logs por meio do SQL Server Management Studio é executada a partir do banco de dados primário.

  • servidor secundário: a instância do SQL Server onde você deseja manter uma cópia em espera ativa do banco de dados primário.

  • banco de dados secundário: a cópia em espera ativa do banco de dados primário. O banco de dados secundário pode estar no estado RECUPERANDO ou no STANDBY estado, o que deixa o banco de dados disponível para acesso somente leitura limitado.

  • monitor server: uma instância opcional do SQL Server que rastreia todos os detalhes do envio de logs, incluindo:

    • Quando foi feito o último backup do log de transações no banco de dados primário.
    • Quando os servidores secundários copiaram e restauraram os arquivos de backup pela última vez.
    • Informações sobre alertas de falha de backup.

    Importante

    Depois que o servidor monitor tiver sido configurado, ele não poderá ser alterado sem remover primeiro o envio de logs.

  • tarefa de backup: uma tarefa do SQL Server Agent que executa a operação de backup, registra o histórico no servidor local e no servidor monitor e exclui arquivos de backup antigos e informações de histórico. Quando o envio de logs está habilitado, a categoria de trabalho "Backup de envio de logs" é criada na instância do servidor primário.

  • trabalho de cópia: um trabalho do SQL Server Agent que copia os arquivos de backup do servidor primário para um destino configurável no servidor secundário e registra o histórico no servidor secundário e no servidor monitor. Quando o envio de logs está habilitado em um banco de dados, a categoria de trabalho "Cópia de envio de logs" é criada em cada servidor secundário em uma configuração de envio de logs.

  • trabalho de restauração: um trabalho do SQL Server Agent que restaura os arquivos de backup copiados para os bancos de dados secundários. Ele registra o histórico no servidor local e no servidor monitor e exclui arquivos antigos e informações de histórico antigas. Quando o envio de logs está habilitado em um banco de dados, a categoria de trabalho "Restauração de envio de logs" é criada na instância do servidor secundário.

  • trabalho de alerta: um trabalho do SQL Server Agent que gera alertas para bancos de dados primários e secundários quando uma operação de backup ou restauração não é concluída com êxito dentro de um limite especificado. Quando o envio de logs está habilitado em um banco de dados, a categoria de trabalho "Alerta de envio de logs" é criada na instância do servidor monitor.

    Sugestão

    Para cada alerta, você precisa especificar um número de alerta. Além disso, certifique-se de configurar o alerta para notificar um operador quando um alerta for gerado.

Interoperabilidade

O envio de logs pode ser usado com os seguintes recursos ou componentes do SQL Server:

Observação

Os grupos de disponibilidade Always On e o espelhamento de banco de dados são mutuamente exclusivos. Um banco de dados configurado para um desses recursos não pode ser configurado para o outro.

Atenção

Problema conhecido: para bancos de dados com tabelas com otimização de memória, executar um backup de log transacional sem recuperação e, posteriormente, executar uma restauração de log de transações com recuperação pode resultar em um processo de restauração de banco de dados sem resposta. Esse problema também pode afetar a funcionalidade de envio de logs. Para contornar esse problema, a instância do SQL Server pode ser reiniciada antes de iniciar o processo de restauração.