none
Log não reduz o tamanho.... RRS feed

  • Pergunta

  • Pessoal,

     

    estou com grandes problemas .... tenho um banco de dados com 110GB porem o arquivo de log está em 500GB ....

    Já tentei de todas as formas abaixar esse log .... mais não consigo ....

    Segue o comando que estou rodando....

     

    USE BANCO

    GO

    CHECKPOINT

    GO

    BACKUP LOG BANCO WITH TRUNCATE_ONLY

    GO

    DBCC SHRINKFILE (BANCO_Log, 1)

    GO

    DBCC SHRINKDATABASE (BANCO, TRUNCATEONLY)

    GO

    DBCC SHRINKDATABASE (BANCO, 3)

    GO

    EXEC SP_SPACEUSED

    Sempre que executo essa rotina ele exibe a seguinte mensagem ...

     

    Cannot shrink log file 2 (Banco_Log) because all logical log files are in use.


     

     

    • Editado MauroCborges segunda-feira, 17 de janeiro de 2011 14:36 ordenação
    segunda-feira, 17 de janeiro de 2011 14:34

Respostas

  • Antes de fazer shrink,

    Verifique o percentual do log que está sendo utilizado.

    DBCC SQLPERF(LOGSPACE)

    Caso o percentual esteja muito grande e você não esteja conseguindo fazer um backup do log para baixá-lo, pode existir uma transação agarrada no seu banco.

    Isso já aconteceu comigo. Assim que eu matei consegui limpar e diminuir meu log. 

    Rode esse comando: 
    sp_lock 

    Verifique se tem um mesmo processo que tenha um lock X durante um certo tempo. Caso exista, execute: 

    kill Numero_Processo


    Fabrício França Lima | MCP, MCTS, MCITP | Visite meu site: http://fabriciodba.wordpress.com/ | Dicas de artigos SQL: Siga-me no twitter @fabriciodba.
    • Marcado como Resposta MauroCborges segunda-feira, 17 de janeiro de 2011 19:20
    segunda-feira, 17 de janeiro de 2011 15:24

Todas as Respostas

  • Antes de fazer shrink,

    Verifique o percentual do log que está sendo utilizado.

    DBCC SQLPERF(LOGSPACE)

    Caso o percentual esteja muito grande e você não esteja conseguindo fazer um backup do log para baixá-lo, pode existir uma transação agarrada no seu banco.

    Isso já aconteceu comigo. Assim que eu matei consegui limpar e diminuir meu log. 

    Rode esse comando: 
    sp_lock 

    Verifique se tem um mesmo processo que tenha um lock X durante um certo tempo. Caso exista, execute: 

    kill Numero_Processo


    Fabrício França Lima | MCP, MCTS, MCITP | Visite meu site: http://fabriciodba.wordpress.com/ | Dicas de artigos SQL: Siga-me no twitter @fabriciodba.
    • Marcado como Resposta MauroCborges segunda-feira, 17 de janeiro de 2011 19:20
    segunda-feira, 17 de janeiro de 2011 15:24
  • Mauro,

    Existem varios links que podem te ajudar:

    http://social.msdn.microsoft.com/Forums/pt-BR/520/thread/88c151f1-d34e-4ea7-8f84-ca72ff005c7e

    http://social.msdn.microsoft.com/forums/pt-br/520/thread/2C3203A6-AB6D-4FE8-BD50-09177C4098B1

    http://social.msdn.microsoft.com/forums/pt-br/520/thread/145C4908-5931-4A50-A5A2-ABFD16750C6E

    http://social.msdn.microsoft.com/forums/pt-br/520/thread/7FB48B99-D468-422A-A165-5D32BC99234F


    Marco Antônio Pinheiro / MCTS - Database Developer 2008 http://marcoantoniopinheiro.blogspot.com Se o post foi útil, não esqueça de marcá-lo.
    segunda-feira, 17 de janeiro de 2011 15:50
  • Obrigado Fabricio....

     

    consegui resolver com sua dica !!!

     

    segunda-feira, 17 de janeiro de 2011 19:20
  • Show de bola!!!
    Fabrício França Lima | MCP, MCTS, MCITP | Visite meu site: http://fabriciodba.wordpress.com/ | Dicas de artigos SQL: Siga-me no twitter @fabriciodba.
    terça-feira, 18 de janeiro de 2011 14:07
  • Tive um problema parecido com o seu, na época meu log estava com 80gb tb e a base acho que tinha uns 2gb que eu me lembre...

    Tentei de tudo para diminuir ele e não consegui devido a falta de espaço no disco, tive que fazer a reconstrução do LOG , usando uns comandos do REBUILD .

    Que bom que conseguiu resolver de forma mais simples....

    Att.

    terça-feira, 18 de janeiro de 2011 18:56