Eu tenho um banco de dados SQL Server 2005 usando o modelo de recuperação completa. Se eu executar os seguintes comandos:
ALTER DATABASE test SET RECOVERY SIMPLE;
ALTER DATABASE test SET RECOVERY FULL;
ou
BACKUP LOG test WITH truncate_only;
Em seguida, tente executar um backup de log:
BACKUP LOG test TO DISK = 'backupfile.bak'
Recebo a mensagem de erro:
BACKUP LOG não pode ser executado porque não há backup de banco de dados atual.
Pergunta :
Como faço para verificar se não poderei fazer um backup de log sem executar um comando de backup de log?
last_log_backup_lsn
será nulo emsys.database_recovery_status
.Você precisa fazer um backup completo do seu banco de dados antes de fazer um backup de log.
Execute o T-SQL abaixo para ver se um backup de log pode ser executado:
Observação: sys.database_recovery_status é uma exibição de sistema não documentada . Se o valor de last_log_backup_lsn for NULL, significa que o banco de dados não está mantendo uma sequência de backups de log e está no modo de truncamento automático. Consulte o seguinte artigo da Base de Conhecimento da Microsoft:
Você deve executar um backup completo do banco de dados antes de fazer backup do log de transações para um banco de dados
Abaixo está um script do SQLSkills para verificar se seu banco de dados está no modo "pseudo-simples" .