none
Transaction Log e Replicação RRS feed

  • 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.
    quinta-feira, 8 de outubro de 2009 19:50

Respostas

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
    sexta-feira, 9 de outubro de 2009 00:27
    Moderador
  • o autogrowth do log da database está configurado em By 500 MB, restricted growth to 2097152

    e o 

    tempdb tá By 10 percent, unrestrict growth
    sexta-feira, 9 de outubro de 2009 14:56
  • 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
    sexta-feira, 9 de outubro de 2009 17:19
    Moderador
  • 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.com

    Hash 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
    domingo, 11 de outubro de 2009 04:01
  • Maia,

    Você acho que esta ocorrendo um delay na propagação da replicação.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    terça-feira, 13 de outubro de 2009 12:57
    Moderador
  • 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.
    terça-feira, 13 de outubro de 2009 17:55
  • 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
    terça-feira, 13 de outubro de 2009 19:00
    Moderador