none
Filegroup cheio e Sistemas de Arquivo RRS feed

  • Pergunta

  • Bom dia, ontem a tarde de repente meu sistema começou a apresentar um erro na tentativa de fazer um insert no banco de dados, o erro era o seguinte:

    "Could not allocate space for object 'dbo.CMU010'.'CMU0101' in database 'P12_PRODUCAO' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup"

    O meu banco de dados sempre esteve configurado como autogrowth, e atualmente ele está com 35GB, e ainda temos 175GB disponíveis no HD, e mesmo assim não funcionava de jeito nenhum. depois de muito quebrar a cabeça tentando entender o porque, achei várias pessoas falando do autogrowth e alta fragmentação do HD. Tentando resolver o problema eu forcei uma alocação de 25GB no Banco e fiz uma desfragmentação do HD, aparentemente resolveu o problema, mas depois disso pensei em rodar um DBCC CHECKDB para verificar se encontrava algum problema, e ele faz a verificação mas apresenta alguns erros no começo que são:

    "Msg 1823, Level 16, State 2, Line 1
    A database snapshot cannot be created because it failed to start.
    Msg 5123, Level 16, State 1, Line 1
    CREATE FILE encountered operating system error 665(Não foi possível concluir a operação solicitada devido a uma limitação do sistema de arquivos) while attempting to open or create the physical file 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\P12_PRODUCAO.mdf:MSSQL_DBCC8'.
    Msg 7928, Level 16, State 1, Line 1
    The database snapshot for online checks could not be created. Either the reason is given in a previous error or one of the underlying volumes does not support sparse files or alternate streams. Attempting to get exclusive access to run checks offline."

    A minha dúvida é, eu procedi corretamente? O que devo fazer para evitar esse problema, e como resolvo esse problema do DBCC CHECKDB


    quarta-feira, 26 de junho de 2019 10:38

Respostas

  • Bom dia José, na verdade sem mais opções eu efetuei um procedimento que resolveu o problema:

    Eu tentei desfragmentar o HD onde estava o banco de dados, mas ele não desfragmentava, então eu fiz da seguinte forma.

    - Efetuei os procedimentos de backup do banco.

    - Desanexei o banco de dados.

    - Movi tanto o arquivo mdf como o ldf para outra unidade e deletei da unidade principal.

    - Desfragmentei a unidade principal.

    - Copiei os arquivos novamente pra unidade principal e verifiquei a fragmentação.

    - Reanexei os arquivos de banco.

    - Efetuei um shrink para liberar o espaço alocado.

    - Alterei os valores do autogrowth para um valor maior para ele executar menos vezes.

    Com esses processos tudo voltou a funcionar normalmente, muito obrigado pela ajuda.



    terça-feira, 30 de julho de 2019 13:57

Todas as Respostas

  • Deleted
    quarta-feira, 26 de junho de 2019 11:12
  • Bom dia, José, obrigado pela resposta, segue abaixo as informações que não citei.

    Sim a versão do nosso banco é a 2008 Standard


    O arquivo principal está configurado da maneira abaixo.


    O de log da maneira abaixo.

    ---

    Para forçar a alocação eu alterei o initial size.


    ---

    Sim, o HD possui uma única partição, o diretório DATA está dentro do diretório padrão de instalação do SQL Server, todos os arquivos de banco e de log estão lá, inclusive o tempDB.


    quarta-feira, 26 de junho de 2019 12:48
  • Deleted
    sábado, 27 de julho de 2019 12:04
  • Bom dia José, na verdade sem mais opções eu efetuei um procedimento que resolveu o problema:

    Eu tentei desfragmentar o HD onde estava o banco de dados, mas ele não desfragmentava, então eu fiz da seguinte forma.

    - Efetuei os procedimentos de backup do banco.

    - Desanexei o banco de dados.

    - Movi tanto o arquivo mdf como o ldf para outra unidade e deletei da unidade principal.

    - Desfragmentei a unidade principal.

    - Copiei os arquivos novamente pra unidade principal e verifiquei a fragmentação.

    - Reanexei os arquivos de banco.

    - Efetuei um shrink para liberar o espaço alocado.

    - Alterei os valores do autogrowth para um valor maior para ele executar menos vezes.

    Com esses processos tudo voltou a funcionar normalmente, muito obrigado pela ajuda.



    terça-feira, 30 de julho de 2019 13:57
  • Bom dia José, na verdade sem mais opções eu efetuei um procedimento que resolveu o problema:

    Eu tentei desfragmentar o HD onde estava o banco de dados, mas ele não desfragmentava, então eu fiz da seguinte forma.

    - Efetuei os procedimentos de backup do banco.

    - Desanexei o banco de dados.

    - Movi tanto o arquivo mdf como o ldf para outra unidade e deletei da unidade principal.

    - Desfragmentei a unidade principal.

    - Copiei os arquivos novamente pra unidade principal e verifiquei a fragmentação.

    - Reanexei os arquivos de banco.

    - Efetuei um shrink para liberar o espaço alocado.

    - Alterei os valores do autogrowth para um valor maior para ele executar menos vezes.

    Com esses processos tudo voltou a funcionar normalmente, muito obrigado pela ajuda.



    Mateus,

    Que bom, obrigado pelo retorno, ficamos a disposição.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    terça-feira, 30 de julho de 2019 14:16
    Moderador