Minha pergunta é: devo executar um ou ambos os comandos de redução regularmente,
DBCC SHRINKDATABASE
OU
DBCC SHRINKFILE
===============================
fundo
Sql Server: O banco de dados tem 200 GB, os logs têm 150 GB.
executando este comando
SELECT name ,size/128.0 -
CAST(FILEPROPERTY(name, 'SpaceUsed') AS int) / 128.0
AS AvailableSpaceInMB FROM sys.database_files;`
produz esta saída..
MyDB: 159,812500 MB livres
MyDB_Log: 149476.390625 MB livre
Portanto, parece que há algum espaço livre.
Nosso cronograma de backup é o seguinte:
- Logs de transações Uma vez por hora
- Backups completos duas vezes por semana
- Backups Diferenciais 5 vezes por semana
Eu recomendo fortemente que você leia o artigo de Paul Randal sobre por que você NÃO deve reduzir os arquivos de dados (arquivos de log sim, arquivos de dados não).
Não vou citar ou tentar resumir o artigo, pois realmente não faria justiça! Apenas algo que eu acho que você deveria pelo menos estar ciente.
A única vantagem de reduzir seus arquivos é recuperar o espaço em disco, mas aqui está a ressalva - se seu banco de dados vai crescer para preencher esse espaço novamente, reduzi-lo pode ser prejudicial a longo prazo . Isso ocorre porque, após uma redução, o SQL Server terá que recuperar o espaço em disco à medida que cresce (o que leva tempo, embora não muito), e pode levar à fragmentação do disco físico (mais um problema).
Se os arquivos crescerem muito maiores do que normalmente seriam e você quiser o espaço no disco rígido de volta, faça uma redução. Se você está apenas se perguntando se um psiquiatra deve fazer parte de sua manutenção regular, não deveria.
Como diz rwmnau , a
SHRINK
não é manutenção normal - então você não deveria fazer isso regularmente. No entanto , dado que você está fazendo backup dos logs a cada hora e tem ~ 150 GB de espaço livre - eu ficaria tentado a adivinhar que você nunca está preenchendo esse log.Eu provavelmente
SHRINK
o colocaria em um tamanho razoável e deixaria crescer automaticamente até encontrar o equilíbrio. Você não quer que ele cresça automaticamente em uso normal, mas eu pessoalmente também não gosto que meus arquivos de log estejam 99% vazios.Para estimar um ponto de partida razoável, você pode estimar o número máximo de alterações em uma hora (sua programação de log de backup) ou apenas verificar o tamanho usado antes de um backup de log para alguns ciclos representativos.