Recentemente, mudamos para o FULL
modelo de recuperação, com backups completos sendo feitos todo fim de semana e diferenciais sendo feitos todos os dias.
Isso funcionou no fim de semana passado, no entanto, neste fim de semana, o backup diferencial falhou dizendo que
Mensagem
Executado como usuário: nome de usuário. ... 9.00.3042.00 para 32 bits Copyright (C) Microsoft Corp 1984-2005. Todos os direitos reservados.
Iniciado: 12:30:00 AM
Progresso: 2013-01-21 00:30:01.69
Fonte: {450389BA-54C2-4892-9CD0-0126CA9B0ED8} Executando a consulta "DECLARE @Guid UNIQUEIDENTIFIER EXECUTE msdb..sp".: 100% complete
End Progress
Error: 2013-01-21 00:30:02.11 Code: 0xC002F210
Source: Back Up Database (Differential) Execute SQL Task
Description: Executando a consulta "BACKUP DATABASE [MyDatabase] TO DISK = N'E:\Database Backups \MyDatabase_backup_201301210030.bak' COM DIFERENCIAL , NOFORMAT, NOINIT, NAME = N'MyDatabase_backup_20130121003002', SKIP, REWIND, NOUNLOAD, STATS = 10 ""Não é possível executar um backup diferencial para o banco de dados "MyDatabase", porque um backup atual do banco de dados não existe. Execute um backup completo do banco de dados reemitindo BACKUP DATABASE, omitindo a opção WITH DIFERENTIAL. BAC... A execução do pacote fa... A etapa fracassado.
O trabalho que executa o backup completo do banco de dados foi executado com êxito e posso visualizar o backup usando a consulta encontrada aqui , portanto, não sei por que ele está me dizendo "não existe um backup atual do banco de dados".
Encontrei esta página do MSDN que sugere que a causa do problema é
Esse problema pode ocorrer quando o sinalizador de status interno para um backup completo do banco de dados não é redefinido após a criação do backup completo do banco de dados.
Não consigo instalar o hotfix imediatamente e fazer outro backup completo do banco de dados não é uma opção no momento, então tentei redefinir manualmente o sinalizador de status interno para um backup completo do banco de dados.
Existe uma maneira de redefinir manualmente esse sinalizador para que os diferenciais possam ser executados com sucesso pelo resto da semana? Ou para definir o backup básico para um backup completo existente que existe em msdb.dbo.BackupSet
/ msdb.dbo.BackupMediaFamily
?
Estou usando o SQL Server 2005
Seu principal objetivo aqui é garantir sua capacidade de restaurar o banco de dados. Contanto que você tenha a cadeia completa de seus backups de log do último completo até agora, você pode executar uma recuperação pontual e o erro é apenas um inconveniente. Backups diferenciais não são necessários para recuperação pontual completa, apenas fornecem um atalho para prazos maiores. No entanto, na ausência de seus diferenciais, você precisará de todos os backups de log para cobrir a lacuna.
Caso contrário, a única maneira de redefinir isso corretamente é executar outro backup completo real. Eu recomendaria executar isso o mais rápido possível, o que, dependendo do tamanho do seu banco de dados, deve ser algo que pode ser realizado da noite para o dia no lugar do seu diferencial normal.
Além disso, recomendo fortemente que você aplique o Service Pack 4 para SQL 2005 para garantir que você tenha os hotfixes/atualizações mais recentes para sua plataforma.
Eu não redefiniria essa bandeira. Se você fez, o que provavelmente não pode, não há garantia de que será capaz de restaurar os diffs ou os backups de log se precisar restaurar, e posso garantir que a alteração desse sinalizador de status não é totalmente suportada.
A única opção aqui é tentar fazer um novo backup completo e ver se o sinalizador foi redefinido.
Além disso, esse hotfix não se aplica a você. De acordo com o erro que você postou, você está executando 9.00.3042.00, enquanto esse hotfix está abaixo de 9.0.1550.0, pois o leva até 9.0.1550.0.