Não sou DBA, mas, como as coisas são, tenho que usar o chapéu do DBA e configurar planos de manutenção na minha instância do SQL Server.
Então, por um tempo, meu processo do SSIS da noite para o dia executa uma Execute SQL Task para executar os backups - basicamente executando master.dbo.xp_create_subdir
para garantir a existência das pastas de destino e, em seguida BACKUP DATABASE [DbName] TO DISK = 'G:\Backups\DbName\DbName.bak' WITH INIT
.
Sempre que essa tarefa falhava, o restante do processo era interrompido e eu recebia uma notificação e chegava na manhã seguinte para perceber que a unidade dos logs de transações estava cheia, e então eu os truncava manualmente e seguia em frente. .. até que a história se repita e os logs de transações superem o espaço em disco disponível novamente.
O script "truncado manual" fica assim:
use Staging; alter database Staging set recovery simple alter database Staging set recovery full dbcc shrinkfile ('Staging_log', 0, truncateonly); go
Então, estou ficando cansado disso, e decidi tentar fazer as coisas corretamente e seguir as etapas aqui e criar um plano de manutenção real :
O problema é que nunca fiz isso antes, então tenho algumas perguntas:
- O backup dos logs de transações como esse os truncará automaticamente, ou há outra coisa que preciso fazer?
- É possível executar backups de dados e log de transações simultaneamente? Se não, então qual é a maneira correta de fazer isso?
- Os arquivos de backup estão sendo selecionados durante a noite por outro processo que captura todos os arquivos no servidor e os armazena em outro local - seria uma boa idéia expirar o conjunto de backups após 2 dias? Preciso fazê-los expirar?
- As tarefas de limpeza removem, respectivamente, os arquivos .bak e .trn "antigos" nas subpastas de
G:\Backups
. Isso faz sentido? - Seria melhor fazer isso no SSIS, para que eu possa falhar no meu ETL se / quando os backups falharem? Ou meu processo de ETL deve se importar?
Desculpe, se houver muitas perguntas para uma postagem, se necessário, editar e fazer várias perguntas - acho que todas elas estão intimamente relacionadas.
fonte
Respostas:
Você deve escolher seu modelo de recuperação com base nas suas necessidades comerciais:
Com base na resposta acima, você deve escolher cuidadosamente seu modelo de recuperação de banco de dados .
Em termos simples (sem discutir o modelo de recuperação de log em massa) ,
Lembre-se de que o truncamento de log NÃO é uma redução física no tamanho do arquivo de log de transações. Significa que a parte inativa do arquivo de log de transações é marcada como reutilizável .
Portanto, você deve predefinir adequadamente seu arquivo de log de transações (e arquivos de dados). O aumento do arquivo de log ativará os eventos de crescimento automático (se seu banco de dados estiver definido para crescimento automático como último recurso). Verifique minha resposta - Crescimento automático - Porcentagem de uso?
Eu sugiro que você abandone os planos de manutenção e implemente [uma solução inteligente de manutenção - que seja fácil, flexível e siga as melhores práticas] - 5 . - Solução de backup da Ola (e também solução de manutenção de índice ).
vamos responder às suas perguntas:
Não anexe backups nem defina-os para expirar. Eles criam uma grande bagunça. Use
INIT
e faça backups de log separados com carimbo de data e hora. De fácil manutenção. Use a solução de backup da Ola para isso. A solução é flexível para excluir backups antigos também.Um backup completo não tem efeito em um backup do T-log. Um backup completo contém apenas o log de transações necessário para que, no caso de uma restauração, o banco de dados seja transacionalmente consistente com o horário em que a parte de leitura de dados do backup completo foi concluída. Verificação - quanto log de transações um backup completo inclui?
Além disso, um backup de log durante um backup completo não truncará o log de transações. Um (dois) backups de log após a conclusão do backup completo truncará o log.
Para acima de ambos, use a solução de manutenção de backup da Ola. Ele cuidará da exclusão de arquivos antigos.
fonte