Temos um banco de dados DW no modelo de recuperação simples. Todas as noites, carregamos dados de diferentes fontes e executamos alguns procedimentos. Eu gostaria de ver quanto o log de transações é realmente usado durante esse carregamento noturno que leva horas para ser executado.
Atualmente, o log aumentou para mais de 50 GB devido a uma consulta de limpeza única que executamos recentemente. O espaço usado no log está próximo de 0% devido ao Modelo de Recuperação Simples. Gostaríamos de reduzir o arquivo de log para um tamanho mais razoável. Suspeito que o carregamento noturno use apenas 5 GB, mas existe uma maneira de descobrir isso? Pensei em pesquisar o banco de dados a cada minuto ou cinco e capturar o espaço usado e não utilizado em uma tabela de registro por algumas noites. Existe uma maneira melhor?
Parece uma maneira apropriada de fazer isso.
Crie uma tabela de registro:
Faça isso antes e depois da carga:
Opcionalmente, remova todas as linhas não relacionadas a este banco de dados específico:
Em seguida, você pode comparar o tamanho/espaço antes e depois usado para qualquer data ou para todas as datas que você coletou.
Lembre-se de que os pontos de verificação que ocorrem durante o processo podem, na verdade, fazer com que o espaço do log seja reutilizado; Lembro-me de fazer alguns testes de desempenho recentemente e, depois de certas operações, o
space_used_percent
problema realmente caiu. Portanto, você pode querer obter o máximo observado em alguns dias (e talvez executá-lo com mais frequência - nesse caso, você deseja uma consulta ligeiramente diferente, que não suponha que pares de linhas consecutivas estejam relacionados a qualquer atividade específica), em vez de apenas confiando em como acabou após a carga.Certifique-se também de que as configurações de crescimento automático para o arquivo de log sejam razoáveis - você não deseja 1 MB ou 10%, mas também não deseja 10 GB. Como um evento de crescimento automático para um arquivo de log (a) fará com que todas as transações esperem e (b) não se beneficie da inicialização instantânea do arquivo, você deseja um bom equilíbrio entre quantas vezes o arquivo de log deve crescer durante uma operação anormal como seus dados limpeza e quanto tempo leva para qualquer evento de crescimento individual acontecer. Se esse evento foi recente o suficiente, você pode revisar esses eventos no rastreamento padrão para ver quanto tempo demorou.