Compartilhar via


Sobre o envio de logs (SQL Server)

Aplica-se a:SQL Server

SQL Server permite o envio automático de backups do log de transações de um banco de dados primário em uma instância do servidor primário para um ou mais banco de dados secundário em outras instâncias de servidor secundário . Os backups de logs de transação são aplicados individualmente aos bancos de dados secundários. Uma terceira instância de servidor opcional, conhecida como servidor monitor, registra o histórico e o status das operações de backup e restauração e, opcionalmente, emite alertas se essas operações não forem executadas como foram agendadas.

Visão geral do envio de logs

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

  1. Backup do log de transações da instância do servidor primário.
  2. Cópia do arquivo do log de transações para a instância do servidor secundário.
  3. Restauração do backup de log na instância do servidor secundário.

O log pode ser enviado a várias instâncias de servidor secundário. Nesses casos, as operações 2 e 3 são repetidas em cada instância de 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, os bancos de dados secundários poderão ser colocados online manualmente.

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

Além disso, é possível configurar alertas para a configuração de envio de log.

Uma configuração de envio de logs comum

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

  1. A instância do servidor primário executa o trabalho de backup do log de transações do banco de dados primário. Essa instância do servidor coloca o backup do log em um arquivo de backup de log primário, 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 de servidor secundário executa seu próprio trabalho de cópia do arquivo de backup de log primário para a sua própria pasta de destino local.

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

As instâncias de servidor primário e secundário enviam seus próprios históricos e status para a instância do servidor monitor.

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

Impor a criptografia TLS 1.3

O SQL Server 2025 (17.x) apresenta suporte ao TDS 8.0 para envio 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 estrita para comunicação entre servidores.

No SQL Server 2025 (17.x), o envio de logs usa o Driver do Microsoft OLE DB para SQL Server como a versão padrão para servidores vinculados, que tem um valor padrão Encrypt de Mandatory.

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

O monitoramento de envio de logs poderá ser interrompido se o monitor for uma instância remota do SQL Server 2025

O monitoramento de envio de logs poderá ser interrompido 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 logs usarem uma versão anterior. Você pode receber 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 esse problema, descarte e recrie a configuração de envio de logs nas réplicas primária e secundária. Um script de exemplo está disponível em Usar um monitor remoto com opções de conectividade.

Para obter mais informações, consulte Criptografia e comportamento de validação de certificado.

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.

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

  • Permite um atraso especificado pelo usuário entre o momento em que 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 do log. Um atraso mais longo pode ser útil, por exemplo, se dados forem alterados acidentalmente 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 cujo backup você quer fazer e enviar para outro servidor. Toda a administração da configuração de envio de logs pelo SQL Server Management Studio é realizada a partir do banco de dados primário.

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

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

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

    • A data do último backup do log de transações do banco de dados primário.
    • A data da última vez em que os arquivos de backup foram copiados e restaurados nos servidores secundários.
    • Informações sobre qualquer alerta de falha de backup.

    Importante

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

  • trabalho de backup: um trabalho do SQL Server Agent que executa a operação de backup, registra o histórico no servidor local e no servidor monitor e exclui os arquivos de backup antigos e as informações do 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 estiver habilitado em um banco de dados, a categoria de trabalho “Cópia de Envio de Log" será 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 nos bancos de dados secundários. Ele registra o histórico no servidor local e no servidor monitor e exclui arquivos e informações de histórico antigos. Quando o envio de logs estiver habilitado em um banco de dados, a categoria de trabalho “Restauração de Envio de Log" será 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 estiver habilitado em um banco de dados, a categoria de trabalho “Alerta de Envio de Log" será criada na instância do servidor monitor.

    Dica

    Para cada alerta, você precisa especificar um número de alerta. Além disso, configure 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

Grupos de disponibilidade AlwaysOn 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.

Cuidado

Problema conhecido: para bancos de dados com tabelas com otimização de memória, a execução de um backup de log transacional sem recuperação e, posteriormente, a execução de 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 contorná-lo, a instância do SQL Server pode ser reiniciada antes de iniciar o processo de restauração.