locked
SQL Express 5.0 RRS feed

  • Pergunta

  • Pessoal,

    Estou com dúvida de como diminuir fisicamente o arquivo do banco de dados:
    " DBCC SHRINKDATABASE (Bd1, TRUNCATEONLY) "

    1) Neste caso o arquivo fisico será diminuído até o tamanho máximo conseguido pelo sql sem perda de informações?

    Desde já agradeço qq. ajuda.

    Abraços.


    quarta-feira, 26 de novembro de 2008 11:53

Todas as Respostas

  • Boa Tarde Bruno,

     

    Seja bem vindo ao fórum de SQL Server no Technet.

     

    Nós participantes do fórum o ajudaremos com suas dúvidas e problemas através de nosso conhecimento, experiência e disponibilidade.

     

    O comando SHRINK possui algumas variações que podem ser vistas no Books OnLine, mas independente da variação, nenhuma delas introduz perda de informações. A forma mais rigorosa de reduzir o tamanho dos dados é rodando o comando DBCC SHRINKFILE(1,1). Esse comando tentará deixar o arquivo de dados com 1MB. Como ele não irá conseguir, a redução será feita até onde for possível.

     

    Em todo caso, não recomendo utilizar o comando de SHRINK. Lembre-se que reduzir o tamanho de um arquivo para eliminar o espaço não utilizado vai deixar o arquivo sem nenhuma sobra. No momento que ele precisar crescer, haverá um retardo natural, pois, o SQL Server terá que solicitar ao Windows que o arquivo seja aumentado. Ainda que o Windows o faça, o arquivo ficará fragmentado, pois, dificilmente o Windows alocará o arquivo contiguamente.

     

    Se possível deixe o espaço e não rode esse comando. Ele só deve ser rodado se você de fato não for mais usar o espaço livre.

     

    [ ]s,

     

    Gustavo

    quarta-feira, 26 de novembro de 2008 18:43
  • Bruno,

     

    Gostaria também de dar as boas vindas, esperamos poder ajudar da melhor forma possível, faça parte desta grande comunidade contribuindo com seu conhecimento, ajude-nos a tornar este fórum uma grande fonte de conhecimento.

     

    Em relação a sua dúvida, o Gustavo foi muito correto, utilizar o comando DBCC ShrinkDatabase ou DBCC ShrinkFile, devem ser analisados com cuidado, ambos tem a finalidade de diminuir o tamanho tando do banco como também do arquivo de dados.

     

    Muitas vezes pensamos em realizar estes procedimento para evitar a utilização desnecessário de espaço em disco, mas temos que ter em mente que diariamente estamos lançados novas informações em nossas bases de dados, e estas estão passando por um processo de crescimento, se todas as vezes que verificarmos que os arquivos ou o banco de dados esta com um tamanho desnecessário e realizar o Shrink estaremos forçando ao SQL Server realizar uma nova análise para estabelecer um nível de crescimento de acordo com o volume que esta sendo inserido.

     

    O que eu recomendo é analisar muito bem a sua necessidade e verificar se é viável realizar este diminuição de tamanho físico e lógico, para evitar um maior custo de processamento.

    quarta-feira, 26 de novembro de 2008 19:15
  • Junior,

     

    Muito obrigado pelas explicações e dicas.

     

    Abraços.

     

    quinta-feira, 27 de novembro de 2008 16:55
  • Gustavo,

     

    Obrigado pela boa vinda e pela explicação.

     

    Abraços.

     

    quinta-feira, 27 de novembro de 2008 16:57