Instruções RESTORE – HEADERONLY (Transact-SQL)
Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure
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).
Convenções de sintaxe de 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 }
| [ METADATA_ONLY | SNAPSHOT ] [ DBNAME = { database_name | @database_name_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 Azure e o suporte a ele começa no SQL Server 2012 (11.x) SP1 CU2. Embora o Armazenamento do 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 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:
Nome da coluna | Tipo de dados | Descrição dos conjuntos de backup do SQL Server |
---|---|---|
BackupName 1 |
nvarchar(128) | Nome do conjunto de backup. |
BackupDescription |
nvarchar(255) | Descrição do conjunto de backup. Pode ser NULL. |
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. |
Compressed |
bit | Se o conjunto de backup é compactado com compactação de software: 0 = Não 1 = Sim |
Position |
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 e números de dispositivos lógicos estão em sys.backup_devices . Para obter mais informações, confira sys.backup_devices. |
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. |
Flags |
int | Significados dos bits dos sinalizadores individuais: - 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 = 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 Flags , você use colunas boolianas individuais (começando com HasBulkLoggedData e terminando com IsCopyOnly nesta tabela). |
BindingID |
uniqueidentifier | ID de associação do banco de dados. Esse valor corresponde a database_guid em sys.database_recovery_status . Quando o banco de dados é restaurado, um valor novo é atribuído. Consulte também FamilyGUID . |
RecoveryForkID |
uniqueidentifier | ID do ponto de bifurcação da recuperação final. Essa coluna corresponde a last_recovery_fork_guid na tabela backupset.Para backups de dados, RecoveryForkID é igual a FirstRecoveryForkID . |
Collation |
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 o seu backup foi feito. |
IsSingleUser |
bit | 1 = O banco de dados era de usuário único quando o seu backup foi feito. |
HasBackupChecksums |
bit | 1 = Backup contém somas de verificação de backup. |
IsDamaged |
bit | 1 = O banco de dados foi danificado durante o seu backup, mas foi solicitada a continuação da operação, apesar dos erros. |
BeginsLogChain |
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. |
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 afeta o 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) | Se FirstRecoveryForkID não for igual a RecoveryForkID , este valor 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: - COMPLETA - BULK-LOGGED - SIMPLES |
DifferentialBaseLSN |
numeric(25,0) | Para um backup diferencial de base única, o valor é igual a FirstLSN da base diferencial. Mudanças com LSNs maiores ou iguais a DifferentialBaseLSN sã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, consulte RESTORE FILELISTONLY. 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: - BANCO DE DADOS - LOG DE TRANSAÇÕES - ARQUIVO OU GRUPO DE ARQUIVOS - DIFERENCIAIS DE BANCOS DE DADOS - ARQUIVO PARCIAL DIFERENCIAL - DIFERENCIAL PARCIAL |
BackupSetGUID |
uniqueidentifier | Número de identificação exclusivo do conjunto de backup pelo qual ele é identificado na mídia. Pode ser NULL. |
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 compressão, use CompressedBackupSize e BackupSize .Durante uma atualização do msdb , esse valor é definido para que corresponda ao valor da coluna BackupSize . |
containment |
tinyint | Aplica-se a: SQL Server 2012 (11.x) e versões posteriores. 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 2014 (12.x) CU 1 e versões posteriores. 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 2014 (12.x) CU 1 e versões posteriores. 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 2014 (12.x) CU 1 e versões posteriores. O tipo de criptografador usado: Certificado ou Chave Assimétrica. Quando o backup não tiver sido criptografado, esse valor é NULL. |
LastValidRestoreTime |
datetime | Aplica-se a: SQL Server 2022 (16.x) e versões posteriores. A última hora de restauração válida. |
TimeZone |
nvarchar(32) | Aplica-se a: SQL Server 2022 (16.x) e versões posteriores. O fuso horário do servidor por meio do qual o backup foi feito. |
CompressionAlgorithm |
nvarchar(32) | Aplica-se a: SQL Server 2022 (16.x) e versões posteriores. Identifica o algoritmo usado para compactar o arquivo de backup. O padrão é MS_XPRESS. Para obter mais informações, consulte BACKUP. |
1 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 'Password Protected'
, e todas as outras colunas são NULL.
Comentários
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.
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 observar rapidamente a mídia sem obter informações sobre cada conjunto de backup, use RESTORE LABELONLY
ou especifique FILE = <backup_set_file_number>
.
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 SQL Server. O conjunto de resultados retornado por RESTORE HEADERONLY
inclui uma linha para cada um desses conjuntos de backup.
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 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 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
Confira 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)