Justificativa para alterar o autoprojecto?

1

Eu tenho um banco de dados MS SQL Server 2005 de produção que recentemente me tornei um "Administrador de banco de dados não intencional" para ... enquanto vasculhava as configurações do banco de dados, descobri que ele tem as configurações padrão do AutoGrow de 1MB. Eu li (e geralmente acredito) que esta não é uma configuração apropriada - o DB é 14GB grande. Eu estou disposto (e provavelmente) a mudar isso, mas a minha pergunta é ... Se ninguém percebeu isso em todos os anos que estamos usando (especialmente usuários), por que eu deveria mudar isso agora? Para dizer de outra forma, eu acho que entendo em um nível básico por que 1MB é muito pequeno - provavelmente é de crescimento automático com frequência, talvez diariamente ou várias vezes ao dia - mas eu estou pensando "se não estiver quebrado, não conserte isto".

Quais justificativas específicas existem para aumentar o crescimento automático? Bloqueia os usuários durante o crescimento automático? Ele re-indexa? O DB faz alguma coisa além de apenas adicionar mais espaço em disco ao banco de dados?

    
por Michael Bray 12.10.2009 / 16:31

4 respostas

3

Este é um ótimo artigo da MS KB sobre o tópico, que aborda todos os possíveis problemas de desempenho: Considerações sobre o "crescimento automático" e " autoshrink "configurações no SQL Server

Eu nunca vi o valor padrão sendo 1 MB, no entanto. Eu acredito que a configuração padrão é na verdade 10%. [ Editado por comentário por GregD ]

    
por 12.10.2009 / 16:50
2

Não é exatamente isso que o autogrowth serve. O crescimento automático é uma válvula de segurança, de modo que o banco de dados não exploda quando ocorre algum crescimento incomum. Seria melhor executar um trabalho de manutenção noturno para determinar se o banco de dados precisará crescer durante esse dia e redimensioná-lo, se necessário.

A maior dor de cabeça que vejo é com os logs de transação; Se você tiver uma transação grande e ultrapassar o tamanho do log de transações do banco de dados, isso atrasará a sua transação. Da mesma forma, se você estiver fazendo uma inserção massiva ou algo assim, isso diminuirá a velocidade drasticamente também (porque está aumentando o banco de dados à medida que avança).

    
por 12.10.2009 / 17:04
0

É realmente difícil responder a essa pergunta porque as respostas serão tão variadas quanto as pessoas aqui e não temos ideia de qual é o seu desempenho atual agora.

Como está seu desempenho atualmente?

O crescimento automático pode afetar seus usuários. A autocrescimento frequente pode afetar com frequência seus usuários.

Qual é o tamanho dos seus registros de transações atuais?

Dependendo do tamanho dos seus registros de transação, definir o tamanho do aumento automático como uma porcentagem, em vez de um crescimento fixo, pode afetar seus usuários.

O crescimento automático não é um substituto para o planejamento de capacidade adequado.

    
por 12.10.2009 / 17:11
0

Ouvi dizer que, quando você faz autogrow em pequenas porções (1 Mb), o banco de dados fica fragmentado, o que afetará negativamente o desempenho.

    
por 28.07.2010 / 15:34