Eu tenho trabalhos para aparar tabelas usadas para histórico e registro para mantê-las aparadas. Quero ter certeza de não negligenciar o arquivo de log.
Como e o que posso ou devo fazer para manter o arquivo de log sob controle?
O script sql que tenho em execução em uma programação noturna é:
declare @DBname varchar(500)
set @DBname = 'E:\Database\backup\PMIS_backup_'+ convert(varchar(MAX), getdate(), 23 ) +'.bak'
BACKUP DATABASE [PMIS] TO DISK = @DBname
WITH NOFORMAT, NOINIT, NAME = @DBname
, SKIP, REWIND, NOUNLOAD, STATS = 10
(modo de recuperação é simples)
Se o seu banco de dados estiver no modo de recuperação FULL ou BULK_LOGGED, você precisará fazer backup do banco de dados e dos arquivos de log regularmente. Se o seu banco de dados estiver no modo de recuperação SIMPLES, você só precisará fazer backup do banco de dados regularmente.
Por favor, leia os seguintes artigos para mais informações:
Não tenho certeza se a pergunta era sobre estratégia de backup ou tamanhos de arquivo de log.
Eric explicou os modos de backup.
Se você está preocupado com o tamanho do arquivo de log, também pode definir o arquivo de log para crescimento automático. O SQL SERVER permitirá que você aumente automaticamente o arquivo de log em uma porcentagem ou em um número definido de megabytes. Você também pode definir um limite de tamanho absoluto se seus arquivos de log tiverem uma quantidade restrita de espaço de crescimento.
Se você seguir esse caminho, provavelmente desejará reduzir os arquivos de log como parte de sua rotina de manutenção regular.
Com um modo de recuperação simples, não acredito que haja muito que você precise fazer nos arquivos de log. No modo simples, o SQL Server não deve persistir as transações no arquivo de log por muito tempo.
Eu sei que no oracle os arquivos de log são substituídos quando o mecanismo chega ao final do arquivo e as transações são definidas como não sendo mais necessárias. Não tenho certeza se o SQL Server segue essa mesma metodologia ou se o arquivo de log é limpo assim que as transações são processadas ou ocorre um evento de ponto de verificação.
Eu acho que se você está procurando um tamanho ideal para o arquivo de log neste estado (e se você tiver alguma flexibilidade para teste), eu configuraria os arquivos de log para crescerem automaticamente em alguns MB e definiria o tamanho inicial bem baixo. Em seguida, deixe-o rodar por uma iteração ou duas e fique de olho no tamanho.