none
Problema no Shrink de um arquivo de dados RRS feed

  • Pergunta

  • Senhores,

    Tenho a seguinte situação ao avaliar o EXEC SP_SPACEUSED:

    database_name database_size unallocated space

    BANCOXYZ 64408.94 MB 39067.09 MB

     

    Como podem observar, tenho um grande espaço a ser reduzido.

    Porém, ao tentar realizar um shrink:

    USE [BANCOXYZ]

    GO

    DBCC SHRINKFILE (N'asd2datData' , 0, TRUNCATEONLY)

    GO

    DBCC SHRINKFILE (N'asd2ext1Data' , 0, TRUNCATEONLY)

    GO

    Ocorre o erro abaixo:
    File ID 1 of database ID 5 cannot be shrunk as it is either being shrunk by another process or is empty.
    Msg 0, Level 11, State 0, Line 0
    A severe error occurred on the current command.  The results, if any, should be discarded.
    File ID 3 of database ID 5 cannot be shrunk as it is either being shrunk by another process or is empty.
    Msg 0, Level 11, State 0, Line 0
    A severe error occurred on the current command.  The results, if any, should be discarded.

    Eu já tentei bastante coisa para resolver isto, mas não tive sucesso, então gostaria de ter a sugestão por parte de vocês.

    Fico no aguardo, obrigado desde já!


    Vithor da Silva e Silva | MCTS - SQL Server 2008, Implementation and Maintenance Site: http://www.vssti.com.br Blog: http://vssti.blogspot.com
    segunda-feira, 6 de fevereiro de 2012 17:10

Respostas

Todas as Respostas

  • Boa Tarde,

    Já vi isso acontecer. Normalmente para evitar esse problema, efetuou vários comandos SHRINK reduzindo 1GB por vez.
    Caso não funcione tente o seguinte:

    - Aumente o arquivo uns 500MB e faça a redução em intervalos de 1GB
    - Se não funcionar, uma reinicialização pode resolver

    [ ]s,

    Gustavo Maia Aguiar
    Blog: http://gustavomaiaaguiar.wordpress.com
    Vídeos: http://www.youtube.com/user/gmasql


    Classifique as respostas. O seu feedback é imprescindível
    segunda-feira, 6 de fevereiro de 2012 17:41
  • Bom dia Vithor,

    você tbm pode tenta alterar o recovery model da base para "Simple" que vc esta tentando reduzir, após alterar o recovery model rode o shirinkfile.

    Obs: só altere o recovery model, caso vc não tenha mirror, log shiping, estratégias de backup(diferencial, transações)... entre outras funções que necessitem do recovery model como "Full".

    Espero ter ajudado.

    terça-feira, 7 de fevereiro de 2012 14:32
  • Andre_Bel,

    É possível realizar backup diferencial com o recovery model simple.


    Vinicius Souza

    terça-feira, 7 de fevereiro de 2012 17:17
  • Boa Tarde,

    A mudança de RECOVERY MODEL só tem efeitos sobre o log de transações e não irá impactar a área de dados (N'asd2datData').
    Pode ser uma tentativa para tentar o SHRINK posteriormente, mas não vejo muita relação.

    [ ]s,

    Gustavo Maia Aguiar
    Blog: http://gustavomaiaaguiar.wordpress.com
    Vídeos:http://www.youtube.com/user/gmasql


    Classifique as respostas. O seu feedback é imprescindível

    terça-feira, 7 de fevereiro de 2012 17:18
  • Vinícius,

    No processo de Shrink do arquivo de log, eu particularmente, altera o Recovery Model para Simple, realizado todos os procedimentos para o Shrink do Log e posteriormente volto para o Modelo Full.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    quarta-feira, 8 de fevereiro de 2012 12:28
    Moderador
  • Junior,

    Também fiz isto.

    Infelizmente, existe toda uma teoria e boas práticas, de que o melhor seria eu adicionar mais espaço....

    Porém, a percepção que tenho é que quando uso Recovery Model = Full meu LOG só tende a crescer com o tempo, onde não tenho alternativa se não, em um determinado momento de coloca-lo com SIMPLE e dar um Shrink também no LOG.


    Vithor da Silva e Silva | MCTS - SQL Server 2008, Implementation and Maintenance Site: http://www.vssti.com.br Blog: http://vssti.blogspot.com

    quarta-feira, 8 de fevereiro de 2012 13:14
  • Realmente, desta forma funcionou! valeu!

    Os arquivos de dados que eu passei, não tinham relação com a questão de Log de Transações, por isto, desmarquei as outras respostas.


    Vithor da Silva e Silva | MCTS - SQL Server 2008, Implementation and Maintenance Site: http://www.vssti.com.br Blog: http://vssti.blogspot.com

    quarta-feira, 8 de fevereiro de 2012 17:40