none
Compressão de dados RRS feed

  • Pergunta

  • Bom dia Srs,

    Estive analisando a possibilidade de aplicar a compressão 'PAGE' numa tabela. Pela análise que fiz percebi que o ganho ia ser significativo, mas não foi como esperava. Após aplicar o comando: ALTER TABLE [dbo].[myTable] REBUILD PARTITION = ALL WITH (DATA_COMPRESSION =  PAGE), minha database cresceu +20GB ao invés de diminuir. É necessário aplicar shrinkdatabase após data compression? ou automatico é liberado para o S.O?

    quarta-feira, 8 de outubro de 2014 11:29

Respostas

  • SQLServerDBUser,

    É normal o banco de dados crescer, pois sua instância SQL está realocando os dados de um ou mais índices para logo à seguir definir a ordem correta em cada caso.

    Dependendo das configurações de sua instância SQL, você pode realizar um backup FULL e o SQL Server vai reduzir seu arquivo de log automaticamente. Particularmente eu não sou à favor de manter configurado o "Auto Shrink" no banco de dados, porque pode gerar lentidão(dependendo do tamanho do seu banco de dados) na sua instância SQL e afetar a produtividade de todos os seus bancos.

    Sugiro que você execute o comando Shrink, em um horário alternativo, para diminuir o impacto para seus usuários.

    Para maiores informações veja:

    http://msdn.microsoft.com/pt-br/library/ms190488.aspx

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

    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"

    quarta-feira, 8 de outubro de 2014 15:16
  • SQLServerDBUser,

    Este tipo de comportamento é muito comum e normal, por padrão todo processo que realize alterações ou manipulações internas na estrutura do banco de dados no SQL Server, bem como, nos dados o arquivo de log tem como função fazer este tipo de registro e por isso o seu banco de dados é impactado.

    Na verdade não podemos dizer que o banco de dados cresceu, mas sim o arquivo de log que compõe a estrutura do banco de dados.

    Outra mudança que também impacta diretamente no cresceu do arquivo de log são os processos de alteração de FillFactor que alterar diretamente as páginas de dados que compõem a estrutura do banco.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | SoroCódigos] @JuniorGalvaoMVP | pedrogalvaojunior.wordpress.com

    quarta-feira, 8 de outubro de 2014 23:14
    Moderador

Todas as Respostas

  • Bom dia,

    A sua base cresceu imediatamente após aplicar o comando?


    Att, Bruno Silva.

    quarta-feira, 8 de outubro de 2014 14:08
  • SQLServerDBUser,

    É normal o banco de dados crescer, pois sua instância SQL está realocando os dados de um ou mais índices para logo à seguir definir a ordem correta em cada caso.

    Dependendo das configurações de sua instância SQL, você pode realizar um backup FULL e o SQL Server vai reduzir seu arquivo de log automaticamente. Particularmente eu não sou à favor de manter configurado o "Auto Shrink" no banco de dados, porque pode gerar lentidão(dependendo do tamanho do seu banco de dados) na sua instância SQL e afetar a produtividade de todos os seus bancos.

    Sugiro que você execute o comando Shrink, em um horário alternativo, para diminuir o impacto para seus usuários.

    Para maiores informações veja:

    http://msdn.microsoft.com/pt-br/library/ms190488.aspx

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

    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"

    quarta-feira, 8 de outubro de 2014 15:16
  • SQLServerDBUser,

    Este tipo de comportamento é muito comum e normal, por padrão todo processo que realize alterações ou manipulações internas na estrutura do banco de dados no SQL Server, bem como, nos dados o arquivo de log tem como função fazer este tipo de registro e por isso o seu banco de dados é impactado.

    Na verdade não podemos dizer que o banco de dados cresceu, mas sim o arquivo de log que compõe a estrutura do banco de dados.

    Outra mudança que também impacta diretamente no cresceu do arquivo de log são os processos de alteração de FillFactor que alterar diretamente as páginas de dados que compõem a estrutura do banco.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | SoroCódigos] @JuniorGalvaoMVP | pedrogalvaojunior.wordpress.com

    quarta-feira, 8 de outubro de 2014 23:14
    Moderador