Antes de tudo, devo admitir que luto com o conceito de log de transações. Quero dizer - eu entendo que é o log de todas as transações que acontece no banco de dados, mas quando se trata de colocá-lo adequadamente no contexto de alguma tarefa, obviamente falta algo. Portanto, para quem responder à pergunta, sinta-se à vontade para expandir a teoria por trás do Log de transações.
A principal questão é - eu tenho o SQL Server 2008 e o banco de dados de 2 GB que preciso espelhar (possui um log de transações de 12 GB). Se eu não estivesse espelhando esse banco de dados, presumo que poderia alternar para o modo Simples ou truncar o log após o backup. Mas neste caso - o que devo fazer se quiser manter esse log de transações sob controle? Pelo que entendi - preciso manter todo esse log de transações se quiser espelhar facilmente o banco de dados (basta fazer o backup completo).
Existe alguma maneira de contornar isso? Idealmente, eu gostaria que fosse possível fazer backup que mantenha o MDF e o LDF em um arquivo todas as vezes e depois que o backup for concluído, o Log de Transações (LDF) no banco de dados é reduzido a 0. O problema nesse cenário são backups incrementais - se meu primeiro backup log truncado, presumo que o segundo backup precisaria fazer referência ao primeiro, se eu quiser fazer o espelhamento mais tarde (ou seja, eu ficaria preso em manter um monte de arquivos em vez de apenas um).
Então - alguém pode me esclarecer sobre esse assunto? Entendo que estou tentando preencher muitos buracos aqui e que minhas "soluções" propostas podem não ser as melhores, mas agradeceria sinceramente se alguém pudesse me levar na direção certa nos Logs de Transação, como eles afetam o espelhamento e melhor práticas com esses dois.
fonte
Para tirar proveito do espelhamento, você precisa ter o banco de dados no modo de recuperação COMPLETO e precisará fazer backups de log de transações para impedir o crescimento do arquivo de log. Se você não precisar dos backups de log, limpe-os após x quantidade de horas com um plano de manutenção, mas eles precisam ser executados.
Para limpar o ambiente, remova o espelhamento, altere o modo de recuperação para simples, reduza o tamanho do arquivo de log pela maneira recomendada de Paul Randal , retorne ao modo de recuperação total, configure backups completos e de log e, em seguida, reinicialize seu espelho. Você pode tentar reduzir o tamanho do log enquanto o espelhamento estiver no lugar, mas será muito mais fácil removê-lo primeiro. 1 GB não deve ser um db ruim para reinicializar.
fonte