Estou tentando configurar o envio de logs de um cluster de duas máquinas Windows Server 2008 R2 x64 executando o SQL Server 2008 R2 para uma única máquina executando o mesmo sistema operacional e banco de dados. A instalação parece estar correta (sem erros), mas no horário agendado recebo o seguinte par de erros no log de eventos do SQL Server da máquina primária:
BACKUP Falha ao concluir o comando BACKUP LOG MyDb. Verifique o log do aplicativo de backup para obter mensagens detalhadas
Erro: 3041, Gravidade 16, Estado 1
Perguntas: 1. Onde está o 'log do aplicativo de backup'? 2. Como posso descobrir o que é o erro 3041?
O SQL Server e o SQL Server Agent estão em execução no primário e no secundário em uma conta de domínio. Criei um compartilhamento no secundário como \secondary\SqlLogShipData, dei controle total à conta do domínio e adicionei dois subdiretórios: Backup e Destino.
Quando configurei o envio de logs, dei \secondary/SqlLogShipData\Backup como o caminho de rede para a pasta de backup e, para o secundário, dei \secondary\SqlLogShipData\Destination como a pasta de destino para os arquivos copiados.
Coloquei a pasta de backup no secundário porque o primário é um cluster e quero que o envio de logs funcione quando um dos nós estiver ativo. Também tentei especificar um diretório local para o primário, mas isso não fez diferença.
Não há erros relevantes no log de eventos SQL do secundário.
Meu palpite é que este é um problema de permissão, mas não sei por quê. Eu apreciaria qualquer ajuda que você possa me dar.
Responder1
Configurar o envio de logs em um cluster é uma configuração bastante simples. Eu usei isso muitas vezes.
Antes de começarmos, certifique-se de remover a configuração existente do Log Shipping, pois ela não está funcionando. Remova o secundário e, em seguida, remova o primário.
Pré-requisitos
Primeiro, vamos definir alguns pré-requisitos.
- O banco de dados está no modelo de recuperação FULL?
- Um backup COMPLETO foi feito?
- Você tem um trabalho de backup de LOG em vigor? Nesse caso, certifique-se de remover esse banco de dados desse trabalho. O Log Shipping cuidará dos backups do LOG para você.
Configuração primária
OK, agora vamos tentar percorrer a configuração do Log Shipping.
Primeiro, tente fazer o Log Shipping Primary funcionar.
Volte para as propriedades do seu banco de dados e marque 'Ativar isto como banco de dados primário' e clique no botãoConfigurações de backupbotão.
Aqui você precisa especificar duas coisas: o caminho da rede para seus backups de LOG e o caminho local para os mesmos.
No meu servidor é algo assim:
- C:\Backups SQL\LS
- \MeuServidor\LS
Permissões da pasta de envio de registros
Em seguida, localize esta pasta no Windows Explorer, clique com o botão direito, escolha propriedades e selecione a guia Permissões. Aqui, você precisará adicionar sua conta de serviço principal do SQL Agent e garantir que ela tenha permissões de leitura e gravação nesta pasta.
Em seguida, selecione a guia Compartilhamento. Aqui, você precisará compartilhar a pasta e garantir que a conta do serviço secundário do SQL Server tenha permissões de leitura no compartilhamento.
Teste os backups de envio de log
Depois de fazer isso, vamos testar seus backups de envio de log. Procure em SQL Agent Jobs e você verá algo chamado LSBackup_YourDatabase.
Clique com o botão direito no trabalho e execute-o. Quaisquer erros provavelmente estão relacionados às permissões de pasta e compartilhamento. Poste os detalhes.
Não configure o secundário até que esta parte funcione primeiro.
Inicialize o secundário
Depois de executar o trabalho de backup de envio de log várias vezes sem erros, execute o trabalho de backup COMPLETO mais uma vez.
Copie e restaure o backup COMPLETO em seu servidor secundário. Certifique-se de usar NORECOVERY.
Configuração secundária
Volte para as propriedades do banco de dados e para a seção Log Shipping. Na área Bancos de dados secundários, clique em Adicionar. Conecte-se ao seu servidor secundário.
Na guia Inicializar, escolha 'Não, o secundário está inicializado'.
Na guia copiar, insira a pasta local no servidor secundário para onde você deseja copiar os arquivos de backup do Log Shipping. Certifique-se de que a conta de serviço do agente SQL secundário tenha permissões de leitura e gravação nesta pasta.
Teste os trabalhos de cópia e recuperação
Execute o trabalho de cópia no servidor secundário. Quaisquer erros provavelmente estão relacionados à pasta e suas permissões. Poste os detalhes. Faça login no histórico do trabalho. Use os relatórios integrados de envio de log para ver até onde está indo.
Assim que o trabalho de cópia estiver funcionando, passe para o trabalho de restauração. Mesmas etapas de teste.
Boa sorte!
Responder2
Tente criar um disco de cluster adicional para fazer backup, caso haja problemas ao gravar em uma das unidades locais dos nós - dessa forma, o envio de log deve sempre funcionar. Caso contrário, faça backup e restaure o envio de logs de outro servidor remoto separado.