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

7

Eu 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 o Litespeed v 5.0.2.0 para fazer backups. Fazemos backups completos uma vez por semana e um diferencial em uma base diária. O problema é que, toda vez que tento fazer um backup do diff, recebo o seguinte erro:

VDI open failed due to requested abort
BACKUP DATABASE is terminating abnormally.

Cannot perform a differential backup for database "myDb", because a current database backup does not exist. Perform a full database backup by reissuing BACKUP DATABASE, omitting the WITH DIFFERENTIAL option.

O problema é que eu sei 100% Eu tenho um backup completo porque eu apenas dupliquei a verificação. Apenas uma vez consegui fazer um backup do diff e foi quando o peguei imediatamente depois que fiz um backup completo.

Pesquisei e percebi que isso é bastante comum (embora principalmente com o SQL 2005) e uma solução sugerida por muitos usuários e que eu ainda não tentei desativar o serviço do gravador VSS do SQL Server. O problema com isso é # 1 Eu acho que eu poderia precisar deste serviço desde que eu estou usando um software de backup de terceiros e # 2 não tenho certeza exatamente o que o serviço faz e não quero desativá-lo assim.

Algum de vocês já experimentou esse problema e como você resolveu isso?

Obrigado,

    
por user44127 02.06.2010 / 15:37

4 respostas

6

Você está executando backups VSS no servidor (NTbackup, BE, etc.) para outros itens que não os dados SQL? De acordo com isso , os backups diferenciais do SQL podem ser invalidados se um software de backup usar o VSS para instantâneos.

Tanto quanto sei, a LS não usa o VSS como o Nick disse. De acordo com este tópico , a correção era desativar o Serviço de Escrita SQL.

Atualizar com base nos comentários:

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

Quando o NTbackup é executado, ele chama ALL os gravadores de 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 (esvazia o cache para o disco) enquanto o instantâneo é criado. O banco de dados, em seguida, acha que foi feito o backup, mesmo se você não copiou as informações da cópia de sombra. Isto é o que está quebrando seus backups.

Uma coisa que você pode verificar para ver se o VSS está sendo executado contra os bancos de dados (que eu estou certo de que é e quebrar a cadeia), é olhar no log do SQL (acho que está no log de erro). Você deve ver os eventos de congelamento / descongelamento durante o tempo em que os trabalhos do NTbackup são executados.

    
por 02.06.2010 / 17:43
1

Já faz alguns anos que eu usei lightspeed, então isso pode ter mudado, mas a velocidade da luz não fornece seus próprios procedimentos armazenados estendidos para realizar backups? Nesse caso, você deveria estar chamando isso para fazer um diferencial. Você provavelmente não deveria estar chamando os comandos nativos do BACKUP DATABASE. Eu não acho que você pode misturar & corresponde a backups nativos / lightspeed.

Eu tentei pesquisar o doco online do Quests, mas você precisa ser um cliente.

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

O serviço VSS permite backups em nível de arquivo do sql server via cópia de sombra do volume. Se você estiver usando lightspeed para backups e amp; excluindo o diretório do sql server dos backups em nível de servidor (OS), provavelmente está ok desligar isto. Isso provavelmente não tem nada a ver com a impossibilidade de fazer backups diferenciais.

O reinício da instância do sql server corrige o problema? Se assim for, você pode querer olhar para aumentar servidores sql memtoleave verificar isso .

    
por 02.06.2010 / 16:03
1

A causa mais comum para este problema é se você tem outro software de backup (NTBackup, BE, Bacula etc.) que tira um instantâneo (cópias VSS - Volume Shadow Copy) do banco de dados, então isso pode causar a cadeia de backups sejam quebrados e invalidem seus backups DIFERENCIAIS anteriores, e é por isso que quando o processo atual de backup DIFERENCIAL for iniciado, ele falhará, pois não é possível ver que um backup COMPLETO inicial ou outro backup DIFERENCIAL ocorreu antes dele.

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

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 seja executado automaticamente após você reiniciar o computador e clicar em "OK" para aplicar todas as alterações.

    
por 31.08.2016 / 12:02
0

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 estava fazendo isso acontecer em um subconjunto dos bancos de dados no servidor que era mais irritante. No final, minha resolução era 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 Servers fossem redefinidos corretamente para observar que um backup completo foi feito. Isso foi em 2005 - eu acho que os mesmos problemas de VDI estão afetando 2008 também.

Para ref aqui foi minha pergunta anterior .

    
por 02.06.2010 / 16:33