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 abackupmediaset
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
- BACKUP (Transact-SQL)
- Instruções RESTORE (Transact-SQL)
- Tabelas de backup e restauração (Transact-SQL)
- backupfile (Transact-SQL)
- backupfilegroup (Transact-SQL)
- backupmediafamily (Transact-SQL)
- backupmediaset (Transact-SQL)
- Possíveis erros de mídia durante o backup e a restauração (SQL Server)
- Conjuntos de mídias, famílias de mídia e conjuntos de backup (SQL Server)
- Modelos de recuperação (SQL Server)
- RESTORE HEADERONLY (Transact-SQL)
- Tabelas de backup e restauração (Transact-SQL)