Usuário com melhor resposta
Transaction Log e Replicação

Pergunta
-
Estou realizando uma replicação transacional em real time.Durante o dia o pico do transaction log é de 5 GB durante a noite são rodados alguns procedimentos de insert e update que fazem com que durante um periodo de 3 horas o log tenha picos de 15 GB. O servidor está configurado para fazer backup do log a cada 30 minutos.Gostaria de saber o que posso modificar para diminuir esse log.Tenho o mesmo problema no tempdb, para este estou pensando em remover 27 cursores que uso, sao procedures antigas, por isso ainda usam cursores.Acredito que reduzindo esses valores minha replicação deve melhorar consideravelmente.
Respostas
-
Boa Noite,
Enquanto os registros não forem replicados, o log de transação não poderá expurgá-los mesmo que você faça um backup de log. Imagino que o seu log cresça porque suas rotinas escrevem muito no log e haja um delay na propagação desses registros para o assinante. Se o tamanho do log começa a ser um incômodo, você terá que ver a sua replicação.
[ ]s,
Gustavo Maia Aguiar
http://gustavomaiaaguiar.spaces.live.comHash Indexes – Uma implementação no SQL Server – Parte I
http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!750.entry
Classifique as respostas. O seu feedback é imprescindível- Marcado como Resposta Junior Galvão - MVPMVP, Moderator sexta-feira, 13 de fevereiro de 2015 17:29
Todas as Respostas
-
Rochi,
Bom deixa eu ver se consegui entender!!!
Você esta utilizando uma replicação transacional, sendo que, o seu log de eventos esta variando de 5GB para 15GB e o TempDB também esta consumindo um valor alto de log.
Como esta configurado a taxa de crescimento do seu log?
Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA -
-
Rochi,
O TempDB é normal ele crescer por se tratar de um banco de dados responsável em controlar e armazenar todos os processamentos temporários ou processamentos em loop(cursores, while).
No caso do log do seu outro banco acredito que você deveria limitar mais o tamanho de crescimento do log.
Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA -
Boa Noite,
Enquanto os registros não forem replicados, o log de transação não poderá expurgá-los mesmo que você faça um backup de log. Imagino que o seu log cresça porque suas rotinas escrevem muito no log e haja um delay na propagação desses registros para o assinante. Se o tamanho do log começa a ser um incômodo, você terá que ver a sua replicação.
[ ]s,
Gustavo Maia Aguiar
http://gustavomaiaaguiar.spaces.live.comHash Indexes – Uma implementação no SQL Server – Parte I
http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!750.entry
Classifique as respostas. O seu feedback é imprescindível- Marcado como Resposta Junior Galvão - MVPMVP, Moderator sexta-feira, 13 de fevereiro de 2015 17:29
-
-
Srs,dei uma modificada em alguns comandos update do meu banco no intuito de reduzir o tamanho do log, mas não surtiu o efeito esperado, o que posso rever para reduzir meu log? Que rotinas mais escrevem em log?O meu maior problema é que minha database ter 3 GB e o log 15 GB ou seja, é 5 vezes maior, se eu conseguisse reduzir isto pela metade já me ajudaria muito.
-
Rochi,
Toda e qualquer rotina de manupulação de dados escreve informações no seu log!!!
O que você deverá rever são justamente estas instruções, além disso, você utilizar algum trigger nas tables que estão sendo replicados ou naquelas que estão recebendo os dados da replicação?
Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA