none
Limpar Log e diminui tamanho RRS feed

  • Pergunta

  • Como dar "commit" nas transações do arquivo de log para poder diminuir seu tamanho???

     

    Meu objetivo é diminuir um arquivo de log que chegou aos 19 GB mas ao executar o comando DBCC SHRINKFILE (banco_Log, 10000)  ele fala que não é possivel por que o arquivo esta sendo utilizado, e não consigo limpar o log com o script que utilizava no SQL 2000, Executei um backup do arquivo de log selecionado a opção para limpr o log mas mesmo assim não consigo executar o dbcc shrinkfile.

     

     

     

    /****************************************************************************/
    /* Este script vai limpar o logs de todos os bancos do servidor corrente.   */
    /* Apenas não ocorrerá limpeza dos bancos do sistema.                       */
    /****************************************************************************/


    declare @SQLString  nvarchar(1000)
    declare @database nvarchar(100)

    -- Declaro o cursor para os databases
    declare cr1 cursor for
    select name from sysdatabases where name not in ('msdb','master','model','tempdb')

    open cr1

    -- lendo o primeiro registro
    fetch next from cr1
    into @database


    while @@fetch_status <> -1
     begin
      -- seto a variavel para receber o comando para execução
      set @SQLString = 'checkpoint backup log ' +  @database + ' with truncate_only '

      -- executo a limpeza do log do banco que esta o cursor
      exec sp_executesql @SQLString

      -- lendo o proximo registro
      fetch next from cr1
      into @database
      
     end


    close cr1
    deallocate cr1
    go

     

    quarta-feira, 26 de julho de 2006 14:50

Respostas

Todas as Respostas

  • cara o dbcc srinkfile pode ser executado sem problemas com todos os usuaros conectatos, faca um teste com essa sequencia

    essa base tem replicacao ?

    checkpoin

    backup log nome_log with truncate_only

    Dbcc ShrinkFile(arquivo_log, 1000) -- vai ficar 1GB

     

    Veja esses comandos qualquer coisa retorne.

     

    Abs;

    quarta-feira, 26 de julho de 2006 16:24
  • Moisés,

    Acredito que a solução que o Marcelo te passou com certeza vai resolver o seu problema, eu já fiz alguns testes e funcionou perfeitamente.

     

    quarta-feira, 26 de julho de 2006 16:58
    Moderador
  • Obrigado pela ajuda, consegui mas o comando checkpoint não é reconhecido.....

     

    backup log [NomeBase] with truncate_only
    Dbcc ShrinkFile(edocsima1_serv_log, 5000)

     

    segunda-feira, 31 de julho de 2006 12:53
  • Olá Moises da uma olhada nesse link em meu site que irá te ajudar a reduzir o arquivo de log

     

    (Reduzindo o arquivo de Log no SQL Server)
    http://www.msit.com.br/publicacaoDetalhes.aspx?id=41

    • Marcado como Resposta Richard Juhasz terça-feira, 28 de junho de 2011 17:48
    quinta-feira, 3 de agosto de 2006 14:33

  • Prezados... gostaria de saber se alguém sabe o que em detalhes esse DBCC SHRINKFILE faz que diminue o arquivo de log. Seria algo relacionado aos índices?
    Obrigada.
    quarta-feira, 8 de outubro de 2008 14:59
  • Crianças é so dar esse comando no query analise

    dump tran nomedo_banco with no_log

    esse comando serve para limpar o log ok.

    quinta-feira, 29 de abril de 2010 17:43
  • sql 2008. Bati a cabeça mas deu certo com esse:

     

    USE NOMEBANCO;

    GO

    ALTER DATABASE NOMEBANCO

    SET RECOVERY SIMPLE;

    GO

    DBCC SHRINKFILE (NOMEBANCO_Log, 1);

    GO

    ALTER DATABASE NOMEBANCO

    SET RECOVERY FULL;

    GO

    • Sugerido como Resposta Najib El Alam segunda-feira, 5 de setembro de 2011 13:39
    sexta-feira, 12 de agosto de 2011 17:26
  • Para (MS SQL Server 2008) eu faço dessa forma:  em cima do nome do banco de dados clicar botão direito do mouse, escolhher menu Tasks, escolher Shrink, escolher Database ( verificar o valor do campo Avalible free space ), clicar botão <OK>, o valor de Avaliable free space reduz ao mínimo possível.
    • Sugerido como Resposta Helmut Madeiro sexta-feira, 19 de abril de 2013 12:33
    quinta-feira, 11 de outubro de 2012 18:16
  • Samuel, 

    Usando este seu método, o que acontece quando deixo o tamanho para 200 MB e o log atinge este tamanho ?

    Ele sobrescreve os antigos ? 

    terça-feira, 13 de maio de 2014 14:30