"Não é possível realizar um backup diferencial para o banco de dados "myDb", porque não existe um backup de banco de dados atual."

"Não é possível realizar um backup diferencial para o banco de dados "myDb", porque não existe um backup de banco de dados atual."

Tenho o que parece ser um problema bastante comum ao tentar fazer um backup diferencial. Temos um SQL Server 2008 Standard (64 bits) e usamos Litespeed v 5.0.2.0 para fazer nossos backups. Fazemos backups completos uma vez por semana e diferenciais diariamente. O problema é que toda vez que tento fazer um backup diferente, recebo o seguinte erro:

A abertura do VDI falhou devido à solicitação de cancelamento.
O BACKUP DATABASE está sendo encerrado de forma anormal.

Não é possível realizar um backup diferencial para o banco de dados "myDb", porque não existe um backup de banco de dados atual. Execute um backup completo do banco de dados emitindo novamente BACKUP DATABASE, omitindo a opção WITH DIFFERENTIAL.

O problema é que sei 100% que tenho um backup completo porque acabei de verificar novamente. Apenas uma vez consegui fazer um backup diferencial e foi quando o fiz imediatamente após fazer um backup completo.

Eu pesquisei e percebi que isso é bastante comum (embora principalmente com o SQL 2005) e uma solução que muitas pessoas sugerem e que ainda não tentei é desabilitar o serviço SQL Server VSS Writer. O problema com isso é o número 1: acho que posso precisar desse serviço, pois estou usando um software de backup de terceiros e o número 2: não tenho certeza exatamente do que o serviço faz e não quero desativá-lo assim.

Algum de vocês já passou por esse problema e como fez para corrigi-lo?

Obrigado,

Responder1

Você está executando backups VSS no servidor (NTbackup, BE, etc.) para outras coisas além dos dados SQL? De acordo comesse, os backups diferenciais SQL poderão ser invalidados se um software de backup usar VSS para capturas instantâneas.

Pelo que eu sei, o LS não usa VSS como Nick disse. De acordo comeste tópicoa correção foi desabilitar o serviço SQL Writer.

Atualização com base em comentários:

Como você está usando o NTbackup para fazer backup de outros arquivos no servidor, a correção seria desabilitar o SQL Writer Service.

Quando o NTbackup é executado, ele chamaTODOSos gravadores VSS disponíveis, mesmo que você não precise deles. Isso significa que o gravador SQL colocará o banco de dados em um estado consistente (liberar cache para disco) enquanto o instantâneo é criado. O banco de dados então pensa que foi feito backup, mesmo que você não tenha copiado as informações da cópia de sombra. É isso que está quebrando seus backups.

Uma coisa que você pode verificar para ver se o VSS está sendo executado nos bancos de dados (o que tenho certeza de que está e quebrando a cadeia) é procurar no log SQL (acho que está no log de erros). Você deverá ver eventos de congelamento/descongelamento durante a execução dos trabalhos do NTbackup.

Responder2

já se passaram alguns anos desde que usei o lightspeed, então isso pode ter mudado, mas o light speed não fornece seus próprios procedimentos armazenados estendidos para realizar backups? nesse caso, você deveria chamá-los para fazer um diferencial. Você provavelmente não deveria chamar os comandos nativos BACKUP DATABASE. Não acho que você possa misturar e combinar backups nativos/lightspeed.

Tentei dar uma olhada na documentação do produto on-line da Quest, mas, infelizmente, você precisa ser um cliente.

Da perspectiva de backups nativos do SQL Server, se você nunca fez um backup completo, não poderá fazer um diferencial.

O serviço VSS permite backups em nível de arquivo do SQL Server por meio de cópia de sombra de volume. Se você estiver usando lightspeed para backups e excluindo o diretório do sql server dos backups no nível do servidor (SO), provavelmente não há problema em desligar isso. Provavelmente isso não tem nada a ver com a impossibilidade de fazer backups diferenciais.

Reiniciar a instância do SQL Server corrige o problema? em caso afirmativo, você pode querer aumentar o memtoleave dos servidores sqlVeja isso.

Responder3

A causa mais comum para esse problema ocorrer é se você tiver outro software de backup (NTBackup, BE, Bacula etc.) que tira um instantâneo (cópias VSS – Volume Shadow Copy) do seu banco de dados, então isso pode fazer com que a cadeia de backups seja quebrado e invalidará seus backups DIFERENCIAIS anteriores, e é por isso que quando seu processo de backup DIFERENCIAL atual for iniciado, ele falhará, pois não pode ver se um backup COMPLETO inicial ou outro backup DIFERENCIAL ocorreu antes dele.

Em primeiro lugar, você precisa descobrir qual ferramenta de software está criando backups instantâneos do seu banco de dados, pois há várias maneiras de resolver esse problema. Vamos considerar o caso mais comum quando backups de snapshots são feitos com a ajuda do NTBackup. A solução para NTBackup Primeiramente, verifique SQL Server VSS Writer no menu Serviço, ele deve ter as seguintes configurações: Tipo de início: Manual e o serviço deve ser interrompido. Se o serviço SQL Server VSS Writer estiver em execução e um instantâneo for obtido, o modelo de recuperação completo será bloqueado e a cadeia de backup será interrompida. Para alterar as configurações do SQL Server VSS Writer, vá para o "Menu Estrela" e encontre "Serviços" na janela aberta, selecione "SQL Server VSS Writer".

Clique com o botão direito no serviço e selecione "Propriedades", na janela aberta defina o "Tipo de inicialização" como "Manual", pressione "Parar" na seção "Status do serviço" para garantir que o serviço não será executado automaticamente após você reiniciar o seu computador e clique em "OK" para aplicar todas as alterações.

Responder4

Eu tive o mesmo problema, embora o Bacula tirasse instantâneos do banco de dados, bem como meus próprios backups do SQL Server. Há algum tipo de bug que fazia isso acontecer em um subconjunto de bancos de dados no servidor, o que era muito irritante. No final, minha resolução foi alterar os tempos de backup para que um backup do SQL fosse executado após o backup do Bacula para garantir que os sinalizadores internos do SQL Server fossem redefinidos corretamente para observar que um backup completo havia sido feito. Isso foi em 2005 - acho que os mesmos problemas de VDI também estão afetando 2008.

Para referênciaaquifoi minha pergunta anterior.

informação relacionada