Atualmente temos um db que o backup foi definido como Simples que está sendo copiado todas as noites (temos backups nos últimos 7 dias), é possível encontrar registros que foram excluídos em junho?
O banco de dados é totalmente funcional, portanto, não há corrupção nem nada, só queremos ver se podemos encontrar registros excluídos no arquivo de log atual. Eu usei o log do apexsql, mas isso mostra que não há nada, supondo que quando um backup é feito no modo simples, ele praticamente descarta o log.
Outra pergunta é, digamos que eu queira ter a capacidade de obter registros excluídos no futuro, devo configurar meu backup como "completo" e isso é bom o suficiente ou preciso também fazer backups de log em massa?
Eu acho que existe uma maneira simples de explicar o que significa o modo e que tipo de recuperação eu recebo. O artigo ms https://learn.microsoft.com/en-us/sql/relational-databases/backup-restore/recovery-models-sql-server?view=sql-server-2017 fala sobre isso, mas não ficou claro para mim o que precisa acontecer em cenários de diferenças quando é necessário obter registros específicos excluídos/alterados.
Contanto que seu modelo de recuperação seja
Simple
e backups completos por apenas 7 dias, você não terá chance de ver o que foi excluído em junho.As entradas no arquivo de log para
Simple
recuperação são descartadas quandoSQL Server
não são necessárias para recuperação de falhas.A resposta à sua segunda pergunta - sim, você precisa mudar para a
Full
recuperação. Então, com a ajuda deApex
software (ou algum outro), você provavelmente poderá restaurar registros excluídos no passado se tiver backups de log para esse período de tempo. Tenha cuidado ao mudar para aFull
recuperação - ela tem pegadinhas. Certifique-se de aprender este Q/A.Se você tiver backups por 7 dias, temo que essa seja a quantidade de tempo que você poderá voltar. Não é possível recuperar dados, quando você não tem backups dos mesmos. A menos que você tenha escrito algum tipo de log ou tenha um backup armazenado em algum lugar, você está sem sorte.
Depende de quanto tempo atrás no tempo e quão específico você deseja buscar esses registros. Se você concorda em ter apenas 1 ponto por dia para recuperação de dados, pode ficar com o modo de recuperação SIMPLE, no entanto, se quiser um ponto no tempo mais específico, precisará alternar para o modo de recuperação FULL e usar backups de LOG frequentemente durante o dia. (exemplo a cada 10-15 minutos). Apenas lembre-se, se você deseja restaurar dados de x meses atrás, você precisa do backup FULL/DIFF + os backups de log para voltar a esse ponto específico no tempo.
Seus backups de log fazem backup de suas transações entre o último backup completo/dif e permitem a restauração para um ponto específico no tempo. Se você tiver backup todos os dias, perderá um pouco menos de 24 horas de dados na pior das hipóteses. Se você tiver backups de log a cada 10 minutos, o pior caso é perder um pouco menos de 10 minutos de dados.
Sua estratégia de backup será decidida pela quantidade de dados que você pode perder e quais são seus requisitos de negócios. Você deve ler sobre RPO e RTO e esses serão números importantes ao decidir sua estratégia de backup.
Parece que "eu quero ter a capacidade de obter registros excluídos no futuro" é um requisito ....
Nesse caso, você pode querer examinar os dados de exclusão "soft" (definindo um sinalizador de bit "ocultar/excluído") ou implementar tabelas temporais ou alterar a captura de dados, em vez de excluir e manter backups ao redor
(não ajudará seu problema imediato, mas pode valer a pena considerar a longo prazo)