locked
Diretorio de arquivos MDf sem espaço RRS feed

  • Pergunta

  • Pessoal, preciso da ajuda de voces assume recentemente um banco de dados na empresa onde trabalho, seguinte o diretorio onde ficam os arquivos mdf e ndf estourou o espaço em disco, paliativo aumentamos o espaço, mas gostaria de saber o que eu posso fazer no banco pra que este tipo de coisa nao acontece mais?  alguma solução que eu possa aplicar pq so aumentamos em 20 gb e logo ira estourar novamente.
    sábado, 8 de junho de 2013 11:33

Respostas

  • Pessoal, preciso da ajuda de voces assume recentemente um banco de dados na empresa onde trabalho, seguinte o diretorio onde ficam os arquivos mdf e ndf estourou o espaço em disco, paliativo aumentamos o espaço, mas gostaria de saber o que eu posso fazer no banco pra que este tipo de coisa nao acontece mais?  alguma solução que eu possa aplicar pq so aumentamos em 20 gb e logo ira estourar novamente.

    Olá Renata;

    Há várias opções para minimizar o uso de espaço em disco.

    No seu caso faria uma avaliação se os arquivos de dados (MDF) do tempdb estão neste mesmo disco e se é este o arquivo responsável pelo alto consumo de espaço. Isto defira qual a diretiva que você deve tomar.

    Consumo excessivo no TempDB significa processos que fazem uso de tabelas temporárias, sorts (instruções como distinct por exemplo), operações de rebuild de índices com opção de Sort no TempDB. Comece monitorando os horários em que mais cresce o uso de recursos de discos, pode ser algum processo noturno (batch) também.

    No caso de uso excessivo do TempDB, há outra saída (além da inclusão de mais espaço em disco) que seria a manutenção das operações que o consomem, mas no geral a saída mesmo é adicionar mais espaço.

    Acho pouco provável que você tenha um baseline adequado neste momento já que acabou de assumir o ambiente, é um ótima hora para pensar nesta estratégia para futuramente você conseguir mensurar este tipo de problema.

    Muito cuidado com comandos de Shirink, as muitas vezes isto tem efeitos indesejados em seu ambiente.

    Outra opção (caso acrescentar espaço não seja uma opção) é usar a compactação de tabelas, isto em prol da redução de espaço em disco e menor índice de I/O tem como contrapartida o maior consumo de CPU, mas é uma boa estratégia também (principalmente em ambientes virtualizados onde é mais fácil acrescentar processamento).

    Novamente reforço, cuidado com operações de Shirink em seu ambiente.

    Abs.


    View Ricardo Muramatsu's profile on LinkedIn

    • Marcado como Resposta Renata Cardoso quarta-feira, 12 de junho de 2013 00:11
    terça-feira, 11 de junho de 2013 16:45
  • Renata,

    conforme bem dito pelo André CR, o uso do DBCC SHRINKFILE irá "liberar" espaço nos arquivos de banco (mdf), porém a utilização deve ser realizada apenas em casos extremos.

    Para garantir que não haja o risco do espaço em disco estourar, o mais correto é você implementar uma ferramenta que monitore o espaço no disco, e que envie um alerta quando um valor específico de threshold for alcançado. Ex.:

    Disco de 500 GB = criar na ferramenta de monitoramento uma trigger que monitore o espaço da unidade e que gere um alarme quando o espaço livre alcançar apenas 20% do total (100 GB). Uma vez ciente desse alarme, você pode tomar as ações corretivas para liberar espaço ou proceder com a troca do disco por um de maior capacidade.

    Lembrando que os valores citados são apenas demonstrativos, você deve defini-los de acordo com suas necessidades.


    Angelo Máximo
    MCSA | MTA | MCITP | MCT | CCSQLA
    sqlmax@outlook.com
    http://angmaximo.wordpress.com/

    Se a resposta foi útil, não esqueça de classificá-la.

    • Marcado como Resposta Renata Cardoso quarta-feira, 12 de junho de 2013 00:12
    terça-feira, 11 de junho de 2013 17:21

Todas as Respostas

  • Olá mais uma vez Renata!

    Bom, o mais recomendado é que você tenha unidades que suportem o crescimento dos arquivos das bases do SQL Server com tranquilidade, o SQL Server possui um comando chamado DBCC SHRINKFILE que visa liberar espaço nao utilizado nos arquivos, mais sua utilização seria somente em casos extremos pois ele pode vir a prejudicar a performance do banco de dados. Se quiser saber mais sobre ele veja o link abaixo:

    http://technet.microsoft.com/pt-br/library/ms189493.aspx

    Além do que foi falado acima, tente separar as unidades, uma para arquivos de dados (mdf's e ndf's), uma para log (ldf's) e uma só para os arquivos de dados da tempdb! São boas praticas visando ganho na performance.

    Um abraço!


    Regards,

    André César Rodrigues

    Please click the Mark as answer button and vote as helpful if this reply solves your problem. Thanks!

    Blog: http://sqlmagu.blogspot.com.br  LinkedIn:   

    sábado, 8 de junho de 2013 15:10
  • Renata bom dia !

    Concordo com o que o André disse, veja se voce consegue um historico de crescimento da sua base de dados, se conseguir voce consegue por exemplo estimar um crescimento para os proximos anos, com isto voce pode solicitar o espaço que precisa de discos.


    Alexandre Matayosi Conde Mauricio.

    segunda-feira, 10 de junho de 2013 15:13
  • Pessoal, preciso da ajuda de voces assume recentemente um banco de dados na empresa onde trabalho, seguinte o diretorio onde ficam os arquivos mdf e ndf estourou o espaço em disco, paliativo aumentamos o espaço, mas gostaria de saber o que eu posso fazer no banco pra que este tipo de coisa nao acontece mais?  alguma solução que eu possa aplicar pq so aumentamos em 20 gb e logo ira estourar novamente.

    Olá Renata;

    Há várias opções para minimizar o uso de espaço em disco.

    No seu caso faria uma avaliação se os arquivos de dados (MDF) do tempdb estão neste mesmo disco e se é este o arquivo responsável pelo alto consumo de espaço. Isto defira qual a diretiva que você deve tomar.

    Consumo excessivo no TempDB significa processos que fazem uso de tabelas temporárias, sorts (instruções como distinct por exemplo), operações de rebuild de índices com opção de Sort no TempDB. Comece monitorando os horários em que mais cresce o uso de recursos de discos, pode ser algum processo noturno (batch) também.

    No caso de uso excessivo do TempDB, há outra saída (além da inclusão de mais espaço em disco) que seria a manutenção das operações que o consomem, mas no geral a saída mesmo é adicionar mais espaço.

    Acho pouco provável que você tenha um baseline adequado neste momento já que acabou de assumir o ambiente, é um ótima hora para pensar nesta estratégia para futuramente você conseguir mensurar este tipo de problema.

    Muito cuidado com comandos de Shirink, as muitas vezes isto tem efeitos indesejados em seu ambiente.

    Outra opção (caso acrescentar espaço não seja uma opção) é usar a compactação de tabelas, isto em prol da redução de espaço em disco e menor índice de I/O tem como contrapartida o maior consumo de CPU, mas é uma boa estratégia também (principalmente em ambientes virtualizados onde é mais fácil acrescentar processamento).

    Novamente reforço, cuidado com operações de Shirink em seu ambiente.

    Abs.


    View Ricardo Muramatsu's profile on LinkedIn

    • Marcado como Resposta Renata Cardoso quarta-feira, 12 de junho de 2013 00:11
    terça-feira, 11 de junho de 2013 16:45
  • Renata,

    conforme bem dito pelo André CR, o uso do DBCC SHRINKFILE irá "liberar" espaço nos arquivos de banco (mdf), porém a utilização deve ser realizada apenas em casos extremos.

    Para garantir que não haja o risco do espaço em disco estourar, o mais correto é você implementar uma ferramenta que monitore o espaço no disco, e que envie um alerta quando um valor específico de threshold for alcançado. Ex.:

    Disco de 500 GB = criar na ferramenta de monitoramento uma trigger que monitore o espaço da unidade e que gere um alarme quando o espaço livre alcançar apenas 20% do total (100 GB). Uma vez ciente desse alarme, você pode tomar as ações corretivas para liberar espaço ou proceder com a troca do disco por um de maior capacidade.

    Lembrando que os valores citados são apenas demonstrativos, você deve defini-los de acordo com suas necessidades.


    Angelo Máximo
    MCSA | MTA | MCITP | MCT | CCSQLA
    sqlmax@outlook.com
    http://angmaximo.wordpress.com/

    Se a resposta foi útil, não esqueça de classificá-la.

    • Marcado como Resposta Renata Cardoso quarta-feira, 12 de junho de 2013 00:12
    terça-feira, 11 de junho de 2013 17:21