backupset (Transact-SQL)

Aplica-se a: SQL Server PDW (Sistema de Plataforma de Análise) da Instância Gerenciada de SQL do Azure

Contém uma linha para cada conjunto de backup. Um conjunto de backup contém o backup de uma única operação de backup bem-sucedida. As instruções RESTORE, RESTORE FILELISTONLY, RESTORE HEADERONLY e RESTORE VERIFYONLY funcionam em um único conjunto de backups dentro do conjunto de mídias no dispositivo de backup ou dispositivos especificados.

Essa tabela é armazenada msdb no banco de dados.

Nome da coluna Tipo de dados Descrição
backup_set_id int Número de identificação exclusivo de conjunto de backup que o identifica. Identidade, chave primária.
backup_set_uuid uniqueidentifier Número de identificação exclusivo de conjunto de backup que o identifica.
media_set_id int Número de identificação exclusivo de conjunto de mídia que identifica o conjunto de mídia contendo o conjunto de backup. Faz referência a backupmediaset(media_set_id).
first_family_number tinyint Número de família da mídia em que conjunto de backup é iniciado. Pode ser NULL.
first_media_number smallint Número de mídia da mídia em que conjunto de backup é iniciado. Pode ser NULL.
last_family_number tinyint Número de família da mídia em que conjunto de backup é encerrado. Pode ser NULL.
last_media_number smallint Número de mídia da mídia em que conjunto de backup é encerrado. Pode ser NULL.
catalog_family_number tinyint Número de família da mídia que contém o início do diretório de conjunto de backup. Pode ser NULL.
catalog_media_number smallint Número de mídia da mídia que contém o início do diretório de conjunto de backup. Pode ser NULL.
position int Posição de backup usada na operação de restauração para localizar o conjunto de backup e arquivos apropriados. Pode ser NULL. Para obter mais informações, confira FILE em BACKUP (Transact-SQL).
expiration_date datetime Data e hora de vencimento do conjunto de backup. Pode ser NULL.
software_vendor_id int Número de identificação do fornecedor de software que escreve o cabeçalho de mídia de backup. Pode ser NULL.
name nvarchar(128) Nome do conjunto de backup. Pode ser NULL.
descrição nvarchar(255) Descrição do conjunto de backup. Pode ser NULL.
user_name nvarchar(128) Nome do usuário que realizou a operação de backup. Pode ser NULL.
software_major_version tinyint Número de versão principal do Microsoft SQL Server. Pode ser NULL.
software_minor_version tinyint Número de versão secundária do SQL Server. Pode ser NULL.
software_build_version smallint Número de build do SQL Server. Pode ser NULL.
time_zone smallint Diferença entre a hora local (em que a operação de backup está ocorrendo) e o UTC (Tempo Universal Coordenado) em intervalos de 15 minutos usando as informações de fuso horário no momento em que a operação de backup foi iniciada. Os valores podem ser de -48 a +48, inclusive. Um valor de 127 indica que é desconhecido. Por exemplo, -20 é Hora Padrão do Leste dos EUA ou cinco horas após o UTC. Pode ser NULL.
mtf_minor_version tinyint Número de versão secundário de formato de fita da Microsoft. Pode ser NULL.
first_lsn numeric(25,0) Número de sequência de log do primeiro ou mais antigo registro de log no conjunto de backup. Pode ser NULL.
last_lsn numeric(25,0) Número de sequência de log do próximo registro de log após o conjunto de backup. Pode ser NULL.
checkpoint_lsn numeric(25,0) Número de sequência de log do registro de log em que a operação de refazer deve ser iniciada. Pode ser NULL.
database_backup_lsn numeric(25,0) Número de sequência de log do backup de banco de dados completo mais recente. Pode ser NULL.

database_backup_lsn é o "início do ponto de verificação" disparado quando o backup é iniciado. Esse LSN coincidirá com first_lsn se o backup for feito quando o banco de dados estiver ocioso e nenhuma replicação estiver configurada.
database_creation_date datetime Data e hora em que o banco de dados foi originalmente criado. Pode ser NULL.
backup_start_date datetime Data e hora em que a operação de backup foi iniciada. Pode ser NULL.
backup_finish_date datetime Data e hora em que a operação de backup foi concluída. Pode ser NULL.
tipo char(1) Tipo de backup. Pode ser:

D = Banco de dados
I = Banco de dados diferencial
L = Log
G = Arquivo ou grupo de arquivos
G = Arquivo diferencial
P = Parcial
Q = Parcial diferencial

Pode ser NULL.
sort_order smallint Ordem de classificação do servidor que está executando a operação de backup. Pode ser NULL. Para obter mais informações sobre ordem de classificação e ordenações, confira Suporte a ordenações e a Unicode.
code_page smallint Página de código do servidor que está executando a operação de backup. Pode ser NULL. Para obter mais informações sobre páginas de código, confira Suporte a ordenações e a Unicode.
compatibility_level tinyint Configuração de nível de compatibilidade para o banco de dados. Pode ser:

90 = SQL Server 2005 (9.x)
100 = SQL Server 2008 (10.0.x)
110 = SQL Server 2012 (11.x)
120 = SQL Server 2014 (12.x)
130 = SQL Server 2016 (13.x)
140 = SQL Server 2017 (14.x)
150 = SQL Server 2019 (15.x)
160 = SQL Server 2022 (16.x)

Pode ser NULL.

Para obter mais informações sobre níveis de compatibilidade, confira Nível de compatibilidade de ALTER DATABASE (Transact-SQL).
database_version int Número de versão de banco de dados. Pode ser NULL.
backup_size numeric(20,0) Tamanho do conjunto de backup, em bytes. Pode ser NULL. Para backups do VSS, backup_size é um valor estimado.
database_name nvarchar(128) Nome do banco de dados envolvido na operação de backup. Pode ser NULL.
server_name nvarchar(128) Nome do servidor que está executando a operação de backup do SQL Server. Pode ser NULL.
machine_name nvarchar(128) Nome do computador que executa o SQL Server. Pode ser NULL.
sinalizadores int No SQL Server, a coluna flags foi preterida e substituída pelas seguintes colunas de bit:

has_bulk_logged_data
is_snapshot
is_readonly
is_single_user
has_backup_checksums
is_damaged
begins_log_chain
has_incomplete_metadata
is_force_offline
is_copy_only

Pode ser NULL.

Em conjuntos de backup de versões anteriores do SQL Server, os bits de sinalizador:
1 = Backup contém dados registrados minimamente.
2 = WITH SNAPSHOT foi usado.
4 = Banco de dados era somente leitura na hora do backup.
8 = Banco de dados estava no modo de usuário único na hora do backup.
unicode_locale int Localidade Unicode. Pode ser NULL.
unicode_compare_style int Estilo de comparação Unicode. Pode ser NULL.
collation_name nvarchar(128) Nome da ordenação. Pode ser NULL.
Is_password_protected bit É o conjunto de backup

protegido por senha:

0 = Não protegido

1 = Protegido
recovery_model nvarchar(60) Modelo de recuperação do banco de dados:

FULL

BULK-LOGGED

SIMPLES
has_bulk_logged_data bit 1 = Backup contém dados bulk-logged.
is_snapshot bit 1 = Backup usado com a opção SNAPSHOT.
is_readonly bit 1 = Banco de dados era somente leitura na hora do backup.
is_single_user bit 1 = Banco de dados era de usuário único na hora do backup.
has_backup_checksums bit 1 = Backup contém somas de verificação de backup.
is_damaged bit 1 = Dano no banco de dados foi detectado quando esse backup foi criado. A operação de backup foi solicitada a continuar apesar dos erros.
begins_log_chain bit 1 = Este é o primeiro em uma cadeia contínua de backups de log. Uma cadeia de logs é iniciada com o primeiro backup de log usado depois que o banco de dados é criado ou quando é alternado do modelo de recuperação simples para o completo ou bulk-logged.
has_incomplete_metadata bit 1 = Um backup da parte final do log com metadados incompletos. Para obter mais informações, veja Backups da parte final do log (SQL Server).
is_force_offline bit 1 = Banco de dados usado offline que usou a opção NORECOVERY quando o backup foi feito.
is_copy_only bit 1 = Um backup somente cópia. Para obter mais informações, confira Backups somente cópia (SQL Server).
first_recovery_fork_guid uniqueidentifier ID da bifurcação de recuperação inicial. Isso corresponde a FirstRecoveryForkID de RESTORE HEADERONLY.

Para backups de dados, first_recovery_fork_guid é igual a last_recovery_fork_guid.
last_recovery_fork_guid uniqueidentifier ID da bifurcação de recuperação final. Isso corresponde a RecoveryForkID de RESTORE HEADERONLY.

Para backups de dados, first_recovery_fork_guid é igual a last_recovery_fork_guid.
fork_point_lsn numeric(25,0) Se first_recovery_fork_guid não for igual a last_recovery_fork_guid, esse será o número de sequência de log do ponto de fork. Caso contrário, o valor será NULL.
database_guid uniqueidentifier ID exclusiva para o banco de dados. Isso corresponde a BindingID de RESTORE HEADERONLY. Quando o banco de dados é restaurado, um valor novo é atribuído.
family_guid uniqueidentifier ID exclusiva do banco de dados original na criação. Este valor permanece o mesmo quando o banco de dados é restaurado, mesmo para um nome diferente.
differential_base_lsn numeric(25,0) LSN base para backups diferenciais. Para um backup diferencial de base única, as alterações com LSNs iguais ou superior a differential_base_lsn são incluídas no backup diferencial.

Para um diferencial multibase, o valor é NULL e o LSN base precisa ser determinado no nível do arquivo (confira backupfile (Transact-SQL)).

Para tipos de backup não diferencial, o valor é sempre NULL.
differential_base_guid uniqueidentifier Para um backup diferencial de base única, o valor é o identificador exclusivo da base diferencial.

Para diferenciais com várias bases, o valor é NULL, e a base diferencial deve ser determinada em nível de arquivo.

Para tipos de backup não diferencial, o valor é NULL.
compressed_backup_size Numeric(20,0) Contagem total de bytes do backup armazenado em disco.

Para calcular a taxa de compactação, use compressed_backup_size e backup_size.

Durante uma msdb atualização, esse valor é definido como NULL. o que indica um backup não compactado.
key_algorithm nvarchar(32) O algoritmo de criptografia usado para criptografar o backup. O valor de NO_Encryption indica que o backup não foi criptografado.
encryptor_thumbprint varbinary(20) A impressão digital do criptografador que pode ser usada para localizar o certificado ou chave assimétrica no banco de dados. Quando o backup não tiver sido criptografado, esse valor será NULL.
encryptor_type nvarchar(32) O tipo de criptografador usado: Certificado ou Chave Assimétrica. Quando o backup não tiver sido criptografado, esse valor será NULL.
last_valid_restore_time datetime O carimbo de data/hora do último registro de log de transações incluído no backup do log de transações, para registros de log que carregam um carimbo de data/hora. Auxilia na construção de planos de restauração, ajudando você a encontrar o último backup de log a ser restaurado quando a STOPAT cláusula é especificada na RESTORE LOG instrução. Esse backup de log tem o last_valid_restore_time estritamente maior do que o tempo especificado na STOPAT cláusula. Introduzido no SQL Server 2022 (16.x).
compression_algorithm nvarchar(32) O algoritmo de compactação usado ao criar o backup do SQL Server. Introduzido no SQL Server 2022 (16.x). O padrão é MS_XPRESS. Para obter mais informações, consulte COMPACTAÇÃO DE BACKUP e Aceleração e descarregamento integrados.

Comentários

  • RESTORE VERIFYONLY FROM <backup_device> WITH LOADHISTORY Preenche a backupmediaset coluna da tabela com os valores apropriados do cabeçalho do conjunto de mídias.
  • Para reduzir o número de linhas nessa tabela e em outras tabelas de backup e histórico, execute o procedimento armazenado sp_delete_backuphistory.
  • Para a Instância Gerenciada de SQL, consulte transparência de backup e como monitorar backups.

Exemplos

Histórico de backup de consulta

A consulta a seguir retorna informações de backup bem-sucedidas dos últimos dois meses.

SELECT bs.database_name,
    backuptype = CASE 
        WHEN bs.type = 'D' AND bs.is_copy_only = 0 THEN 'Full Database'
        WHEN bs.type = 'D' AND bs.is_copy_only = 1 THEN 'Full Copy-Only Database'
        WHEN bs.type = 'I' THEN 'Differential database backup'
        WHEN bs.type = 'L' THEN 'Transaction Log'
        WHEN bs.type = 'F' THEN 'File or filegroup'
        WHEN bs.type = 'G' THEN 'Differential file'
        WHEN bs.type = 'P' THEN 'Partial'
        WHEN bs.type = 'Q' THEN 'Differential partial'
        END + ' Backup',
    CASE bf.device_type
        WHEN 2 THEN 'Disk'
        WHEN 5 THEN 'Tape'
        WHEN 7 THEN 'Virtual device'
        WHEN 9 THEN 'Azure Storage'
        WHEN 105 THEN 'A permanent backup device'
        ELSE 'Other Device'
        END AS DeviceType,
    bms.software_name AS backup_software,
    bs.recovery_model,
    bs.compatibility_level,
    BackupStartDate = bs.Backup_Start_Date,
    BackupFinishDate = bs.Backup_Finish_Date,
    LatestBackupLocation = bf.physical_device_name,
    backup_size_mb = CONVERT(DECIMAL(10, 2), bs.backup_size / 1024. / 1024.),
    compressed_backup_size_mb = CONVERT(DECIMAL(10, 2), bs.compressed_backup_size / 1024. / 1024.),
    database_backup_lsn, -- For tlog and differential backups, this is the checkpoint_lsn of the FULL backup it is based on.
    checkpoint_lsn,
    begins_log_chain,
    bms.is_password_protected
FROM msdb.dbo.backupset bs
LEFT JOIN msdb.dbo.backupmediafamily bf
    ON bs.[media_set_id] = bf.[media_set_id]
INNER JOIN msdb.dbo.backupmediaset bms
    ON bs.[media_set_id] = bms.[media_set_id]
WHERE bs.backup_start_date > DATEADD(MONTH, - 2, sysdatetime()) --only look at last two months
ORDER BY bs.database_name ASC,
    bs.Backup_Start_Date DESC;

Próximas etapas