RESTORE HEADERONLY (Transact-SQL)

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.

ObservaçãoObservação

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

Ícone de vínculo de tópicoConvenções de sintaxe 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 } = { 'physical_backup_device_name' |
       @physical_backup_device_name_var } 
} 

Argumentos

Para obter as descrições dos argumentos RESTORE HEADERONLY, consulte 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çãoObservaçã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 observar rapidamente a mídia sem obter informações sobre cada conjunto de backup, use RESTORE LABELONLY ou especifique FILE = backup_set_file_number.

ObservaçãoObservação

Devido à natureza do Microsoft Tape Format, os conjuntos de backup de outros programas conseguem ocupar espaço na mesma mídia dos 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

Descrição de outros conjuntos de backup

BackupName

nvarchar(128)

Nome do conjunto de backup.

Nome do conjunto de dados

BackupDescription

nvarchar(255)

Descrição do conjunto de backup.

Descrição do conjunto de dados

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

Tipo de backup:

1 = Normal

5 = Diferencial

16 = Incremental

17 = Diário

ExpirationDate

datetime

Data de vencimento do conjunto de backup.

NULL

Compressed

BYTE(1)

Se o conjunto de backup é compactado com compactação de software:

0 = Não

1 = Sim

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).

Posição do conjunto de backup no volume

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

Os nomes de dispositivo lógico e números de dispositivo estão em sys.backup_devices; para obter mais informações, consulte sys.backup_devices (Transact-SQL).

NULL

UserName

nvarchar(128)

Nome do usuário que realizou a operação de backup.

Nome do usuário que realizou a operação de backup

ServerName

nvarchar(128)

Nome do servidor que gravou o conjunto de backup.

NULL

DatabaseName

nvarchar(128)

Nome do banco de dados cujo backup foi feito.

NULL

DatabaseVersion

int

Versão do banco de dados a partir do qual o backup foi criado.

NULL

DatabaseCreationDate

datetime

Date e hora em que o banco de dados foi criado.

NULL

BackupSize

numeric(20,0)

Tamanho do backup em bytes.

NULL

FirstLSN

numeric(25,0)

Número de sequência do primeiro registro de log no conjunto de backup.

NULL

LastLSN

numeric(25,0)

Número de sequência do primeiro registro de log feito após o conjunto de backup.

NULL

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.

NULL

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” acionado 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.

NULL

BackupStartDate

datetime

Date e hora em que a operação de backup começou.

Data de gravação da mídia

BackupFinishDate

datetime

Data e hora em que a operação de backup foi concluída.

Data de gravação da mídia

SortOrder

smallint

Ordem de classificação do servidor. Esta coluna só é válida para backups de banco de dados. Fornecida para compatibilidade com versões anteriores.

NULL

CodePage

smallint

Página de código de servidor ou conjunto de caracteres usado pelo servidor.

NULL

UnicodeLocaleId

int

Opção de configuração de ID de localidade Unicode do servidor usada para classificar dados de caracteres Unicode. Fornecida para compatibilidade com versões anteriores.

NULL

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. Fornecida para compatibilidade com versões anteriores.

NULL

CompatibilityLevel

tinyint

Configuração do nível de compatibilidade do banco de dados a partir do qual o backup foi criado.

NULL

SoftwareVendorId

int

Número de conta de identificação do fornecedor de software. Para SQL Server, esse número é 4608 (ou 0x1200 hexadecimal).

Número de identificação do fornecedor de software

SoftwareVersionMajor

int

Número de versão principal do servidor que criou o conjunto de backup.

Número de versão principal do software que criou o conjunto de backup.

SoftwareVersionMinor

int

Número de versão secundário do servidor que criou o conjunto de backup.

Número de versão secundário do software que criou o conjunto de backup.

SoftwareVersionBuild

int

Número de versão do servidor que criou o conjunto de backup.

NULL

MachineName

nvarchar(128)

Nome do computador que realizou a operação de backup.

Tipo de computador que realizou a operação de backup.

Flags

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 o seu backup foi feito.

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

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

32 = O banco de dados foi danificado durante o 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.

Observação importanteImportante
Recomendamos que, em vez de Sinalizadores, você use colunas de booleano individuais (listadas abaixo iniciando com HasBulkLoggedData e terminando com IsCopyOnly).

NULL

BindingID

uniqueidentifier

ID de associação do banco de dados. Corresponde a sys.database_recovery_statusdatabase_guid. Quando o banco de dados é restaurado, um valor novo é atribuído. Consulte também FamilyGUID (abaixo).

NULL

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.

NULL

Collation

nvarchar(128)

Agrupamento usado pelo banco de dados.

NULL

FamilyGUID

uniqueidentifier

ID do banco de dados original quando criado. Esse valor fica igual quando o banco de dados é restaurado.

NULL

HasBulkLoggedData

bit

1 = Backup de log que contém operações bulk-logged.

NULL

IsSnapshot

bit

1 = Backup de instantâneo.

NULL

IsReadOnly

bit

1 = O banco de dados era somente leitura quando o seu backup foi feito.

NULL

IsSingleUser

bit

1 = O banco de dados era de usuário único quando o seu backup foi feito.

NULL

HasBackupChecksums

bit

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

NULL

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.

NULL

BeginsLogChain

bit

1 = Em uma cadeia de caracteres contínua de backups de log, esta é a primeira. 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.

NULL

HasIncompleteMetaData

bit

1 = 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, consulte Backups da parte final do log.

NULL

IsForceOffline

bit

1 = Backup feito com NORECOVERY; o banco de dados foi colocado offline pelo backup.

NULL

IsCopyOnly

bit

1 = 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, consulte Backups somente cópia.

NULL

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.

NULL

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.

NULL

RecoveryModel

nvarchar(60)

Modelo de recuperação do banco de dados, sendo:

FULL

BULK-LOGGED

SIMPLE

NULL

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, consulte RESTORE FILELISTONLY (Transact-SQL).

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

Para obter mais informações, consulte Base de um backup diferencial.

NULL

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.

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

Tipo de backup como cadeia de caracteres, sendo:

NORMAL

DIFFERENTIAL

INCREMENTAL

DAILY

BackupSetGUID

uniqueidentifier NULL

Número de identificação exclusivo do conjunto de backup pelo qual ele é identificado na mídia.

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 corresponder ao valor da coluna BackupSize.

NULL

ObservaçãoObservaçã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

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.

Permissões

A partir do SQL Server 2008, para obter informações sobre um conjunto ou dispositivo de backup, é necessário ter a permissão CREATE DATABASE. Para obter mais informações, consulte Permissões de banco de dados GRANT (Transact-SQL).

Uma operação de backup pode especificar senhas opcionalmente 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 e anexações não autorizadas de conjuntos de backup à mídia usando ferramentas do MicrosoftSQL Server. Porém, uma senha não impede a substituição da mídia usando a opção FORMAT da instrução BACKUP.

Observação sobre segurançaObservação sobre segurança

A proteção fornecida por esta senha é fraca. Destina-se a evitar uma restauração incorreta com o uso de ferramentas de 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 desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam. A prática recomendada para proteger backups é armazenar as fitas de backup em um local seguro ou fazer backup em 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.

Exemplos

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

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