SQL Server registra uma operação de backup na tabela de histórico do conjunto de backups quando você usa o VSS para fazer backup de arquivos em um volume
Este artigo descreve um comportamento "por design" que ocorre quando você usa o VSS para fazer backup de arquivos em um volume.
Versão original do produto: SQL Server
Número de KB original: 951288
Sintomas
Quando você usa um aplicativo VSS (Serviço de Cópia de Sombra de Volume) para fazer backup de arquivos em um volume que inclui arquivos de banco de dados SQL Server, SQL Server registra uma operação de backup na tabela de backupset
histórico. Esse comportamento ocorre mesmo que você não tenha feito backup dos arquivos de banco de dados do SQL Server.
Motivo
Esse comportamento ocorre porque o aplicativo VSS chama o serviço SQLWriter no sistema durante a operação de backup. Para obter mais informações sobre como os aplicativos VSS interagem com o SQL Writer, examine SQL Server Aplicativos de backup – VSS (Serviço de Cópia de Sombra de Volume) e SQL Writer.
Precauções a serem tomadas se você usar as entradas na tabela de histórico do conjunto de backups para recuperação de dados
Se você quiser usar entradas na backupset
tabela de histórico para recuperação de dados, verifique se as entradas representam operações reais de backup de banco de dados.
Verifique se uma entrada representa uma operação de backup de banco de dados nativo (em oposição a um backup de instantâneo VSS)
Para fazer isso, execute a seguinte instrução:
USE msdb
GO
SELECT server_name, database_name, backup_start_date, is_snapshot, database_backup_lsn
FROM backupset
No resultado, observe a database_backup_lsn
coluna e a is_snapshot
coluna. Uma entrada que representa uma operação de backup de banco de dados nativo tem as seguintes características:
- O valor da
database_backup_lsn
coluna não é 0. - O valor da
is_snapshot
coluna é 0.
Verifique se o conjunto de backup não tem erros
Para fazer isso, execute a seguinte instrução:
WITH backupInfo AS( SELECT database_name AS [DatabaseName],
name AS [BackupName], is_damaged AS [BackupStatus],
backup_start_date AS [backupDate],
ROW_NUMBER() OVER(PARTITION BY database_name
ORDER BY backup_start_date DESC) AS BackupIDForDB
FROM msdb..backupset) SELECT DatabaseName
FROM backupinfo WHERE BackupIDForDB = 1 and BackupStatus=1
Se essa consulta retornar algum resultado, significa que você não terá bons backups de banco de dados após a data relatada. Recomendamos que você execute um backup completo do banco de dados o mais rápido possível e verifique se o backup completo do banco de dados está limpo.
A propriedade is_damaged
A backupset
tabela no banco de dados msdb contém uma linha para cada conjunto de backup. A is_damaged
propriedade na backupset
tabela indica se o dano ao banco de dados foi detectado quando o backup foi criado. Portanto, o backup pode ser danificado e não restaurável.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários