SQL Server + Volume Shadow Copy = Sem backup diferencial.

Aps implementar o recurso de envio de e-mails com os erros de backup do SQL Server, notei que o backup diferencial no estava sendo executado, apresentando o seguinte erro:

Cannot perform a differential backup for database “MyDatabase”, because a current database backup does not exist. Perform a full database backup by reissuing BACKUP DATABASE, omitting the WITH DIFFERENTIAL option. [SQLSTATE 42000] (Error 3035) BACKUP DATABASE is terminating abnormally. [SQLSTATE 42000] (Error 3013). The step failed.

No histrico dos jobs, nenhuma referncia a um backup full com falha.

Porm a seguinte consulta comeou a me dar o caminho das pedras:

Eis que me aparece o seguinte:

name type first_lsn database_backup_lsn
———————— —- ———————- ———————
Backup FULL Semana 17 D 21353000001562600132 21353000001554000043
NULL D 21353000001572500134 21353000001562600132
Backup Log1 Semana 17 L 21353000001557200001 21353000001572500134
Backup Log2 Semana 17 L 21353000001579000001 21353000001572500134

Vejam a linha em vermelho Eu suprimi a coluna backup_start_date, para facilitar a visualizao, porm o horrio era justamente no horrio em que executamos neste servidor um backup dos arquivos que esto nele.

Esse backup realizado pelo software Cobian Backup, e uma das tasks agendadas fazem uso da opo Volume Shadow Copy para permitir que a cpia do arquivo seja realizada mesmo que o arquivo esteja em uso (e no, no nenhum arquivo do SQL Server que estava sendo copiado).

Porm, o problema que o VSS (Volume Shadow Copy Service) chama o SQLWriter (sim, mesmo que no seja uma cpia dos arquivos do SQL Server!!) , que o responsvel por avisar que uma cpia est sendo realizada e ento um registro inserido na tabela backupset. E isso quebra com a cadeia de backups.

Aps desmarcar a opo para utilizao de Volume Shadow Copy, o backup diferencial ocorreu normalmente.

Moral da histria:

Se voc usa uma ferramenta de backup que possua o recurso de Volume Shadow Copy Service (VSS) no seu servidor onde est o banco de dados, desabilite o recurso, ou garanta que no momento da backup, nenhum dos recursos do SQL Server esteja sendo utilizado.

Fontes:

2 comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.