Como parte do plano de manutenção noturna, meus bancos de dados do MS SQL Server 2012 em funcionamento são copiados com opções de recuperação simples e backup completo. O log de transações não é feito backup. Além disso, à noite, o serviço MSSQLSERVER ou SQL Server é reiniciado
Verificando as propriedades dos arquivos correspondentes no sistema operacional (Windows Server 2008), observo que o tempo "Modificado" dos arquivos .mdf corresponde ao tempo de execução do plano de manutenção (fazer backup), mas o tempo de modificação dos arquivos .log é de uma a duas semanas mais cedo.
Por que essa diferença e por que o sistema operacional não atualiza o tempo de modificação?
Então, qual é o tempo e o motivo do tempo de modificação do arquivo .mdf?
É a reinicialização do SQL Server ou a hora do backup?
Como posso estimar quando um banco de dados foi gravado pela última vez em um disco físico, ou seja, quão recente é o arquivo .mdf de um banco de dados correspondente?
Como posso forçar o SQL Server a liberar o banco de dados no disco rígido para ter o arquivo .mdf mais atualizado em caso de problemas no funcionamento do SQL Server?
Os arquivos mdf e ldf exibem a última data e hora em que o SQL Server abriu o arquivo em questão. É mais provável que seja a hora em que o SQL Server foi reiniciado pela última vez.
Não há razão para forçar o SQL Server a liberar para o disco, ele faz isso automaticamente durante seu mecanismo de ponto de verificação.
Mesmo se a máquina inteira travar durante uma operação de gravação em disco, quando o SQL Server for reiniciado, ele será executado no arquivo de log, avançando e retrocedendo todas as operações que não foram totalmente confirmadas no arquivo .mdf. Este é um dos princípios básicos de um servidor de banco de dados atômico, consistente, isolado e durável.
Se você deseja forçar manualmente uma operação de ponto de verificação, pode executar o seguinte comando no SQL Server Management Studio ou SQLCMD, etc:
Para obter mais informações sobre o
CHECKPOINT
comando, consulte http://technet.microsoft.com/en-us/library/ms188748.aspxEm relação à sua declaração no início de sua pergunta de que você faz backup do banco de dados e não do arquivo de log, se seus dados forem críticos para os negócios, você deve habilitar a recuperação completa no banco de dados e garantir que seu arquivo de log seja copiado várias vezes ao dia (no ao menos). Fazer backup do arquivo de log garante que você possa restaurar o banco de dados para um determinado ponto no tempo (provavelmente o ponto em que você executou o último backup de log). Dependendo de seus requisitos de negócios para ponto de recuperação e tempo de recuperação, você pode querer fazer backup do arquivo de log a cada 5 minutos!
Para obter mais informações sobre como implementar corretamente o backup crítico de negócios para SQL Server, consulte http://technet.microsoft.com/en-us/library/hh393536.aspx