temos um pouco de histórico de backup aqui.

temos um pouco de histórico de backup aqui.

o SQL Server rastreia o histórico de cada backup. Ele armazena esses dados no banco de dados MSDB. Esse é um banco de dados do sistema e, por padrão, nossos bancos de dados do sistema são armazenados na unidade C, a menos que especificado de outra forma durante a instalação.

isso representa perigo de algumas maneiras diferentes:

a unidade C pode ser preenchida, fazendo com que as gravações do MSDB falhem. A unidade do sistema é preenchida com mais frequência do que você imagina – causada por usuários descuidados baixando arquivos enormes para sua área de trabalho (localizada na unidade do sistema) ou por atualizações do Windows baixando muitos arquivos para uma pasta temporária na unidade do sistema.

MSDB pode crescer para preencher a unidade C, fazendo com que o Windows falhe. Nos casos em que estamos fazendo backups de log de transações muito frequentes de um grande número de bancos de dados e nunca limpamos o MSDB, esse banco de dados pode se tornar grande o suficiente para ameaçar pequenas unidades C. Quando a unidade C é preenchida, O Windows falha com força.

a unidade do sistema é frequentemente lenta. Em versões antigas do SQL Server, os bancos de dados do sistema não foram bem indexados. Combine isso com unidades locais lentas e temos uma receita para acesso lento ao MSDB. Em um caso, durante nosso backup noturno do windows, 2/3 do tempo foi gasto apenas atualizando o MSDB!

as ferramentas de monitoramento podem consultar o MSDB de forma ineficiente. Vimos casos em que Ferramentas de monitoramento de servidores de terceiros verificavam constantemente o MSDB para garantir que todos os bancos de dados estivessem sendo copiados, mas suas consultas não usavam índices. Essas consultas podem ser a coisa mais lenta no servidor.

esta parte do nosso script sp_Blitz do SQL Server verifica se há histórico de backup do MSDB com mais de 60 dias. Isso por si só não é um problema – você pode querer manter longos períodos de histórico de backup lá apenas para fazer relatórios de taxa de transferência de desempenho – mas considere mover esses dados para o Excel ou sua ferramenta de relatório favorita em vez de bater MSDB cada vez.

volte para sp_Blitz ou Faça-Nos Perguntas

como limpar o histórico de Backup sobrecarregado do MSDB

considere limpar seu histórico de backup do MSDB de dados com mais de 60 dias. Você pode fazer isso de algumas maneiras diferentes:

  • você pode criar um plano de manutenção que executa a tarefa de limpeza de histórico regularmente.
  • você pode criar um trabalho simples do SQL Server Agent que executa sp_delete_backuphistory regularmente (você também pode executá-lo sp_purge_jobhistory se quiser corresponder à funcionalidade do plano de manutenção).

Expandir para o Plano de Manutenção nó no SSMS, clique com botão direito e escolha “Novo Plano de Manutenção…”

2015-04-10_14-20-46

Escolha a Tarefa de Manutenção de Limpeza da caixa de Ferramentas da janela (observe que, às vezes, essa janela fica oculto para a esquerda em Object Explorer no SSMS:

2015-04-10_14-21-26

Para terminar, faça duplo clique na tarefa, escolha o tipo de limpeza que você quer fazer, e como a quantidade de dados que você deseja manter. Às vezes, crio duas tarefas, porque me importo menos com o histórico de Tarefas do agente e o histórico do plano de manutenção do que com os backups, e geralmente quero que Meu Histórico de backup corresponda à minha Política de retenção de dados.

2015-04-10_14-22-03

de qualquer forma, se o seu servidor tiver uma grande quantidade de histórico, esta etapa levará um bom tempo para ser executada pela primeira vez. Como Brent observou no artigo de gargalo MSDB, você pode ter que recorrer a medidas extremas, como alterar as chaves estrangeiras do banco de dados do sistema apenas para fazer com que as exclusões aconteçam.

Deixe uma resposta

O seu endereço de email não será publicado.