Instruções RESTORE – HEADERONLY (Transact-SQL)

Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure Sem suporte Azure Synapse Analytics Sem suporte PDW (Analytics Platform System)

Retorna um conjunto de resultados que contém todas as informações do cabeçalho de backup de todos os conjuntos de backup em um determinado dispositivo de backup no SQL Server.

Observação

Para obter as descrições dos argumentos, confira Argumentos de RESTORE (Transact-SQL).

Topic link iconConvenções de sintaxe do Transact-SQL

Sintaxe

RESTORE HEADERONLY   
FROM <backup_device>   
[ WITH   
 {  
--Backup Set Options  
   FILE = { backup_set_file_number | @backup_set_file_number }   
 | PASSWORD = { password | @password_variable }   
  
--Media Set Options  
 | MEDIANAME = { media_name | @media_name_variable }   
 | MEDIAPASSWORD = { mediapassword | @mediapassword_variable }  
  
--Error Management Options  
 | { CHECKSUM | NO_CHECKSUM }   
 | { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }  
  
--Tape Options  
 | { REWIND | NOREWIND }   
 | { UNLOAD | NOUNLOAD }    
 } [ ,...n ]  
]  
[;]  
  
<backup_device> ::=  
{   
   { logical_backup_device_name |  
      @logical_backup_device_name_var }  
   | { DISK | TAPE | URL } = { 'physical_backup_device_name' |  
       @physical_backup_device_name_var }   
}  
  

Observação

URL é o formato usado para especificar o local e o nome do arquivo para o Armazenamento de Blobs do Microsoft Azure e o suporte a ele começa no SQL Server 2012 (11.x) SP1 CU2. Embora o Armazenamento do Microsoft Azure seja um serviço, a implementação é semelhante ao disco e à fita para permitir uma experiência de restauração consistente e direta para todos os três dispositivos.

Argumentos

Para obter descrições dos argumentos de RESTORE HEADERONLY, confira Argumentos de RESTORE (Transact-SQL).

Conjuntos de resultados

Para cada backup em um determinado dispositivo, o servidor envia uma linha de informações de cabeçalho com as seguintes colunas:

Observação

RESTORE HEADERONLY examina todos os conjuntos de backup na mídia. Por esse motivo, a produção desse conjunto de resultados quando se utilizam unidades de fita de alta capacidade pode levar algum tempo. Para dar uma olhada rápida na mídia sem obter informações sobre cada conjunto de backup, use RESTORE LABELONLY ou especifique FILE =backup_set_file_number.

Observação

Devido à natureza do Microsoft Tape Format, é possível que os conjuntos de backup de outros programas de software ocupem o espaço na mesma mídia que os conjuntos de backup do Microsoft SQL Server. O conjunto de resultados retornado por RESTORE HEADERONLY inclui uma linha para cada um desses conjuntos de backup.

Nome da coluna Tipo de dados Descrição dos conjuntos de backup do SQL Server
BackupName nvarchar(128) Nome do conjunto de backup.
BackupDescription nvarchar(255) Descrição do conjunto de backup.
BackupType smallint Tipo de backup:

1 = Banco de dados

2 = Log de transações

4 = Arquivo

5 = Banco de dados diferencial

6 = Arquivo diferencial

7 = Parcial

8 = Parcial diferencial
ExpirationDate datetime Data de vencimento do conjunto de backup.
Compactado BIT(1) Se o conjunto de backup é compactado com compactação de software:

0 = Não

1 = Sim
Posição smallint Posição do conjunto de backup no volume (para uso com o FILE = opção).
DeviceType tinyint Número que corresponde ao dispositivo usado na operação de backup.

Disco:

2 = Lógico

102 = Físico

Fita:

5 = Lógico

105 = Físico

Dispositivo virtual:

7 = Lógico

107 = Físico

URL

9 = Lógico

109 = Físico

Os nomes de dispositivo lógico e os números de dispositivo estão em sys.backup_devices; para obter mais informações, confira sys.backup_devices (Transact-SQL).
UserName nvarchar(128) Nome do usuário que realizou a operação de backup.
ServerName nvarchar(128) Nome do servidor que gravou o conjunto de backup.
DatabaseName nvarchar(128) Nome do banco de dados cujo backup foi feito.
DatabaseVersion int Versão do banco de dados a partir do qual o backup foi criado.
DatabaseCreationDate datetime Date e hora em que o banco de dados foi criado.
BackupSize numeric(20,0) Tamanho do backup em bytes.
FirstLSN numeric(25,0) Número de sequência do primeiro registro de log no conjunto de backup.
LastLSN numeric(25,0) Número de sequência de log do próximo registro de log após o conjunto de backup.
CheckpointLSN numeric(25,0) Número de sequência de log do ponto de verificação mais recente no momento em que o backup foi criado.
DatabaseBackupLSN numeric(25,0) Número de sequência de log do backup de banco de dados completo mais recente.

DatabaseBackupLSN é o "início do ponto de verificação" disparado quando o backup é iniciado. Esse LSN coincidirá com o FirstLSN se o backup for feito quando o banco de dados estiver ocioso e nenhuma replicação for configurada.
BackupStartDate datetime Date e hora em que a operação de backup começou.
BackupFinishDate datetime Data e hora em que a operação de backup foi concluída.
SortOrder smallint Ordem de classificação do servidor. Esta coluna só é válida para backups de banco de dados. Fornecido para compatibilidade com versões anteriores.
CodePage smallint Página de código de servidor ou conjunto de caracteres usado pelo servidor.
UnicodeLocaleId int Opção de configuração de ID de localidade Unicode do servidor usada para classificar dados de caracteres Unicode. Fornecido para compatibilidade com versões anteriores.
UnicodeComparisonStyle int Opção de configuração de estilo de comparação Unicode do servidor que oferece controle adicional sobre a classificação dos dados Unicode. Fornecido para compatibilidade com versões anteriores.
CompatibilityLevel tinyint Configuração do nível de compatibilidade do banco de dados a partir do qual o backup foi criado.
SoftwareVendorId int Número de conta de identificação do fornecedor de software. Para o SQL Server, esse número é 4608 (ou o 0x1200 hexadecimal).
SoftwareVersionMajor int Número de versão principal do servidor que criou o conjunto de backup.
SoftwareVersionMinor int Número de versão secundário do servidor que criou o conjunto de backup.
SoftwareVersionBuild int Número de versão do servidor que criou o conjunto de backup.
MachineName nvarchar(128) Nome do computador que realizou a operação de backup.
Sinalizadores int Significados dos bits dos sinalizadores individuais se definidos como 1:

1 = O backup de log contém operações bulk-logged.

2 = Backup de instantâneo.

4 = O banco de dados era somente leitura quando foi copiado em backup.

8 = O banco de dados estava em modo de usuário único quando foi copiado em backup.

16 = O backup contém somas de verificação de backup.

32 = O banco de dados foi danificado durante seu backup, mas foi solicitada a continuação da operação, apesar dos erros.

64 = Backup da parte final do log.

128 = Backup da parte final do log com metadados incompletos.

256 = Backup da parte final do log com NORECOVERY.

Importante: Recomendamos que, em vez de Sinalizadores, você use colunas boolianas individuais (listadas abaixo começando com HasBulkLoggedData e terminando com IsCopyOnly).
BindingID uniqueidentifier ID de associação do banco de dados. Isso corresponde a sys.database_recovery_status database_guid. Quando o banco de dados é restaurado, um valor novo é atribuído. Consulte também FamilyGUID (abaixo).
RecoveryForkID uniqueidentifier ID do ponto de bifurcação da recuperação final. Essa coluna corresponde a last_recovery_fork_guid na tabela backupset.

Em backups de dados, RecoveryForkID é igual a FirstRecoveryForkID.
Ordenação nvarchar(128) Ordenação usada pelo banco de dados.
FamilyGUID uniqueidentifier ID do banco de dados original quando criado. Esse valor fica igual quando o banco de dados é restaurado.
HasBulkLoggedData bit 1 = Backup de log que contém operações bulk-logged.
IsSnapshot bit 1 = Backup de instantâneo.
IsReadOnly bit 1 = O banco de dados era somente leitura quando foi copiado em backup.
IsSingleUser bit 1 = O banco de dados era de usuário único quando foi copiado em backup.
HasBackupChecksums bit 1 = O backup contém somas de verificação de backup.
IsDamaged bit 1 = O banco de dados foi danificado durante seu backup, mas foi solicitada a continuação da operação, apesar dos erros.
BeginsLogChain bit 1 = É o primeiro backup de uma cadeia contínua de backups de log. Uma cadeia de logs é iniciada com o primeiro backup de log feito após a criação do banco de dados ou quando é alternado do modelo de recuperação simples para completo ou bulk-logged.
HasIncompleteMetaData bit 1 = Um backup da parte final do log com metadados incompletos.

Para obter informações sobre backups da parte final do log com metadados de backup incompletos, confira Backups da parte final do log (SQL Server).
IsForceOffline bit 1 = Backup feito com NORECOVERY; o banco de dados foi colocado offline pelo backup.
IsCopyOnly bit 1 = Um backup somente cópia.

Um backup somente cópia não causa impactos ao backup global e restaura procedimentos do banco de dados. Para obter mais informações, confira Backups somente cópia (SQL Server).
FirstRecoveryForkID uniqueidentifier ID da bifurcação da recuperação inicial. Essa coluna corresponde a first_recovery_fork_guid na tabela backupset.

Para backups de dados, FirstRecoveryForkID é igual a RecoveryForkID.
ForkPointLSN numeric(25,0) NULL Se FirstRecoveryForkID não for igual a RecoveryForkID, este será o número de sequência de log do ponto de bifurcação. Caso contrário, esse valor será NULL.
RecoveryModel nvarchar(60) Modelo de recuperação do banco de dados, sendo:

FULL

BULK-LOGGED

SIMPLES
DifferentialBaseLSN numeric(25,0) NULL Para um backup diferencial de base única, o valor é igual a FirstLSN da base diferencial; alterações com LSNs maiores ou iguais a DifferentialBaseLSN estão incluídas no diferencial.

Para um diferencial com várias bases, o valor é NULL e o LSN base deve ser determinado no nível de arquivo. Para obter mais informações, confira RESTORE FILELISTONLY (Transact-SQL).

Para tipos de backup não diferenciais, o valor é sempre NULL.

Para obter mais informações, veja Backups diferenciais (SQL Server).
DifferentialBaseGUID 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 do diferencial deve ser determinada por arquivo.

Para tipos de backup não diferenciais, o valor é NULL.
BackupTypeDescription nvarchar(60) Tipo de backup como cadeia de caracteres, sendo:

DATABASE

TRANSACTION LOG

FILE OR FILEGROUP

DATABASE DIFFERENTIAL

FILE DIFFERENTIAL PARTIAL

PARTIAL DIFFERENTIAL
BackupSetGUID uniqueidentifier NULL Número de identificação exclusivo do conjunto de backup pelo qual ele é identificado na mídia.
CompressedBackupSize bigint Contagem de bytes do conjunto de backup. Para backups não compactados, esse valor é o mesmo de BackupSize.

Para calcular a taxa de compactação, use CompressedBackupSize e BackupSize.

Durante uma atualização do msdb, esse valor é definido para que corresponda ao valor da coluna BackupSize.
containment tinyint não NULL Aplica-se a: SQL Server 2012 (11.x) e posterior.

Indica o status de contenção do banco de dados.

0 = a contenção do banco de dados está desativada

1 = o banco de dados está em contenção parcial
KeyAlgorithm nvarchar(32) Aplica-se a: SQL Server (SQL Server 2014 (12.x) (CU1) até a versão atual.

O algoritmo de criptografia usado para criptografar o backup. NO_Encryption indica que o backup não foi criptografado. Quando não for possível determinar o valor correto, o valor deve ser NULL.
EncryptorThumbprint varbinary(20) Aplica-se a: SQL Server (SQL Server 2014 (12.x) (CU1) até a versão atual.

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 é NULL.
EncryptorType nvarchar(32) Aplica-se a: SQL Server (SQL Server 2014 (12.x) (CU1) até a versão atual.

O tipo de criptografador usado: Certificado ou Chave Assimétrica. Quando o backup não tiver sido criptografado, esse valor é NULL.
CompressionAlgorithm nvarchar(32) Aplica-se começando com a: versão prévia do SQL Server 2022 (16.x). Identifica o algoritmo usado para compactar o arquivo de backup. O padrão é MS_XPRESS. Confira BACKUP (Transact-SQL).

Observação

Se as senhas forem definidas para os conjuntos de backup, RESTORE HEADERONLY mostrará informações completas apenas para o conjunto de backup cuja senha corresponda à opção PASSWORD especificada do comando. RESTORE HEADERONLY também mostra informações completas de conjuntos de backup desprotegidos. A coluna BackupName dos outros conjuntos de backup protegidos por senha na mídia é definida como "Protegida por Senha", e todas as outras colunas são NULL.

Comentários gerais

Um cliente pode usar RESTORE HEADERONLY para recuperar todas as informações do cabeçalho de todos os backups em um dispositivo de backup particular. Para cada backup no dispositivo de backup, o servidor envia as informações de cabeçalho como uma linha.

Segurança

Uma operação de backup pode, opcionalmente, especificar senhas para um conjunto de mídias, um conjunto de backup ou ambos. Quando uma senha tiver sido definida em um conjunto de backup ou de mídias, será preciso especificar a senha ou as senhas corretas na instrução RESTORE. Essas senhas impedem operações de restauração não autorizadas e acréscimos não autorizados de conjuntos de backup à mídia usando ferramentas do Microsoft SQL Server. Porém, uma senha não impede a substituição da mídia usando a opção FORMAT da instrução BACKUP.

Importante

A proteção fornecida por esta senha é fraca. Destina-se a evitar uma restauração incorreta com o uso de ferramentas do SQL Server por usuários autorizados ou não autorizados. Não impede a leitura dos dados de backup por outros meios ou a substituição da senha. Esse recurso será removido em uma versão futura do Microsoft SQL Server. Evite usar esse recurso em um novo trabalho de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso. A melhor prática para proteger backups é armazenar fitas de backup em um local seguro ou fazer backup de arquivos de disco protegidos por ACLs (listas de controle de acesso) adequadas. As ACLs devem ser definidas no diretório raiz em que os backups são criados.

Permissões

Obter informações sobre um conjunto de backups ou dispositivo de backup, é necessário ter a permissão CREATE DATABASE. Para obter mais informações, confira Permissões de Banco de Dados GRANT (Transact-SQL).

Exemplos

O exemplo seguinte retorna as informações no cabeçalho do arquivo em disco C:\AdventureWorks-FullBackup.bak.

RESTORE HEADERONLY   
FROM DISK = N'C:\AdventureWorks-FullBackup.bak';  
GO  

Consulte Também

BACKUP (Transact-SQL)
backupset (Transact-SQL)
RESTORE REWINDONLY (Transact-SQL)
RESTORE VERIFYONLY (Transact-SQL)
RESTORE (Transact-SQL)
Informações de histórico e cabeçalho de backup (SQL Server)
Habilitar ou desabilitar as somas de verificação de backup durante o backup ou 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)