locked
Logs Full no SQL SERVER 2008 RRS feed

  • Pergunta

  • Bom dia 

    Senhores eu estou com um base de log no tamanho de 229gb, comecei a trabalhar nessa empresa a pouco tempo, alterei o backup, agora não estou conseguindo trunca o banco de log, tem alguma coisa errada com esse codigo ?

    USE nomedobanco;
    GO
    ALTER DATABASE nomedobanco
    SET RECOVERY SIMPLE;
    GO
    DBCC SHRINKFILE (nomedobanco, 1);
    GO
    ALTER DATABASE nomedobanco
    SET RECOVERY FULL;
    GO 


    Obrigado

    segunda-feira, 1 de fevereiro de 2016 12:37

Respostas

  • USE [nm_database]
    GO
    DBCC SHRINKFILE (N'nm_database' , 0, TRUNCATEONLY)
    GO

    depois 

    ALTER DATABASE nomedobanco
    SET RECOVERY FULL;
    GO 

    depois faça um backup de Full para criar a cadeia de log e configura uma rotina de backup de log.

    Se tiver alguma duvida compartilha com a gente.


    Se a resposta foi útil por favor classifique. Tiago Neves - @tiagolneves - acesse o meu blog http://www.tiagoneves.net

    segunda-feira, 1 de fevereiro de 2016 12:44
  • Senhor Menezes,

    Verifique o nome lógico utilizado para executar o comando DBCC SHRINKFILE.

    Provavelmente o nome lógico do arquivo está incorreto.

    Você pode verificar isto com o código TSQL abaixo:

    USE [nomeDatabase]
    GO
    SELECT name, physical_name
    FROM sys.database_files
    GO


    Felipe Lauffer MCSA: SQL Server | MCP

    segunda-feira, 1 de fevereiro de 2016 13:33
  • Bom dia Menezes.

    Só para acrescentar, da uma olhada no log_reuse_wait_desc e verifica se tem algo travando o LOG.

    SELECT log_reuse_wait_desc,* FROM SYS.DATABASES

    Pode ser que tenha algo pendente no LOG como uma transação rodando a muito tempo entao o Shrink não vai liberar espaço mesmo.

    Att

    Reginaldo Silva

    segunda-feira, 1 de fevereiro de 2016 13:40

Todas as Respostas

  • USE [nm_database]
    GO
    DBCC SHRINKFILE (N'nm_database' , 0, TRUNCATEONLY)
    GO

    depois 

    ALTER DATABASE nomedobanco
    SET RECOVERY FULL;
    GO 

    depois faça um backup de Full para criar a cadeia de log e configura uma rotina de backup de log.

    Se tiver alguma duvida compartilha com a gente.


    Se a resposta foi útil por favor classifique. Tiago Neves - @tiagolneves - acesse o meu blog http://www.tiagoneves.net

    segunda-feira, 1 de fevereiro de 2016 12:44
  • Tiago,

    Muito obrigado pela ajudar, eu executei o comando, agora está aparecendo um novo erro.

    USE SANDRYFASHION_LINX
    GO
    DBCC SHRINKFILE (N'SANDRYFASHION_LINX' , 0, TRUNCATEONLY)
    GO


    Could not locate file 'SANDRYFASHION_LINX' for database 'SANDRYFASHION_LINX' in sys.database_files. The file either does not exist, or was dropped. 

    Eu tenho somente uma base nesse banco, por isso não entendi direito o por que desse erro.

    segunda-feira, 1 de fevereiro de 2016 13:15
  • Cara desculpa, 

    Eu passei o comando errado, pensei uma coisa e fiz outra...

    USE SANDRYFASHION_LINX
    GO
    DBCC SHRINKFILE (N'Nomedoarquivo_log' , 0, TRUNCATEONLY)
    GO

    Para você conseguir o nome do arquivo de log basta fazer esse select:

    SELECT *
    FROM sys.database_files



    Se a resposta foi útil por favor classifique. Tiago Neves - @tiagolneves - acesse o meu blog http://www.tiagoneves.net

    segunda-feira, 1 de fevereiro de 2016 13:28
  • Senhor Menezes,

    Verifique o nome lógico utilizado para executar o comando DBCC SHRINKFILE.

    Provavelmente o nome lógico do arquivo está incorreto.

    Você pode verificar isto com o código TSQL abaixo:

    USE [nomeDatabase]
    GO
    SELECT name, physical_name
    FROM sys.database_files
    GO


    Felipe Lauffer MCSA: SQL Server | MCP

    segunda-feira, 1 de fevereiro de 2016 13:33
  • Bom dia Menezes.

    Só para acrescentar, da uma olhada no log_reuse_wait_desc e verifica se tem algo travando o LOG.

    SELECT log_reuse_wait_desc,* FROM SYS.DATABASES

    Pode ser que tenha algo pendente no LOG como uma transação rodando a muito tempo entao o Shrink não vai liberar espaço mesmo.

    Att

    Reginaldo Silva

    segunda-feira, 1 de fevereiro de 2016 13:40
  • Muito obrigado.

    Deu certo agora.

    segunda-feira, 1 de fevereiro de 2016 13:40
  • Muito obrigado.

    Deu certo agora.

    segunda-feira, 1 de fevereiro de 2016 13:40