Instrucciones RESTORE: HEADERONLY (Transact-SQL)

Se aplica a:SQL ServerAzure SQL Managed Instance

Devuelve un conjunto de resultados que contiene toda la información de encabezado de copia de seguridad de todos los conjuntos de copia de seguridad de un dispositivo de copia de seguridad determinado en SQL Server.

Nota:

Para obtener las descripciones de los argumentos, vea Argumentos de RESTORE (Transact-SQL).

Convenciones de sintaxis de Transact-SQL

Sintaxis

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 }
}

Nota:

URL es el formato que se usa para especificar la ubicación y el nombre del archivo para Azure Blob Storage y se admite a partir de SQL Server 2012 (11.x) SP 1 CU 2. Aunque Azure Storage es un servicio, la implementación es similar al disco y la cinta para permitir una experiencia de restauración coherente y perfecta para los tres dispositivos.

Argumentos

Para las descripciones de los argumentos RESTORE HEADERONLY, consulte Argumentos RESTORE (Transact-SQL).

Conjuntos de resultados

Por cada copia de seguridad que hay en un dispositivo determinado, el servidor envía una fila de información de encabezado con las siguientes columnas:

Nombre de la columna Tipo de datos Descripción de los conjuntos de copia de seguridad de SQL Server
BackupName1 nvarchar(128) Nombre del conjunto de copia de seguridad.
BackupDescription nvarchar(255) Descripción del conjunto de copia de seguridad. Puede ser NULL.
BackupType smallint Tipo de copia de seguridad:

1 = Base de datos
2 = Registro de transacciones
4 = Archivo
5 = Base de datos diferencial
6 = Archivo diferencial
7 = Parcial
8 = Parcial diferencial
ExpirationDate datetime Fecha de expiración del conjunto de copia de seguridad.
Compressed bit Si el conjunto de copia de seguridad se comprime con el sistema de compresión por software:

0 = No
1 = Sí
Position smallint Posición del conjunto de copia de seguridad en el volumen (para utilizarlo con la opción FILE =).
DeviceType tinyint Número correspondiente al dispositivo utilizado para la operación de copia de seguridad.

Disco:

- 2 = lógico
- 102 = físico

Cinta:

- 5 = lógico
- 105 = físico

Dispositivo virtual:

- 7 = lógico
- 107 = físico

Dirección URL:

- 9 = lógico
- 109 = físico

Los nombres y números de los dispositivos lógicos están en sys.backup_devices. Para más información, consulte sys.backup_devices.
UserName nvarchar(128) Nombre del usuario que ha ejecutado la operación de copia de seguridad.
ServerName nvarchar(128) Nombre del servidor que escribió el conjunto de copia de seguridad.
DatabaseName nvarchar(128) Nombre de la base de datos de la que se realizó la copia de seguridad.
DatabaseVersion int Versión de la base de datos de la que se creó la copia de seguridad.
DatabaseCreationDate datetime Fecha y hora en que se creó la base de datos.
BackupSize numeric(20,0) Tamaño de la copia de seguridad, en bytes.
FirstLSN numeric(25,0) Número de secuencia de registro de la primera entrada del registro del conjunto de copia de seguridad.
LastLSN numeric(25,0) Número de secuencia de registro de la siguiente entrada del registro después del conjunto de copia de seguridad.
CheckpointLSN numeric(25,0) Número de flujo de registro del punto de comprobación más reciente en el momento en que se creó la copia de seguridad.
DatabaseBackupLSN numeric(25,0) Número de secuencia de registro de la copia de seguridad completa más reciente de la base de datos.

DatabaseBackupLSN es el "inicio del punto de control" que se desencadena cuando se inicia la copia de seguridad. Este número de secuencia de registro coincide con FirstLSN si la copia de seguridad se realiza cuando la base de datos está inactiva y no hay replicación configurada.
BackupStartDate datetime Fecha y hora en que comenzó la operación de copia de seguridad.
BackupFinishDate datetime Fecha y hora en que terminó la operación de copia de seguridad.
SortOrder smallint Criterio de ordenación del servidor. Esta columna solo es válida para copias de seguridad de bases de datos. Se proporciona para mantener la compatibilidad con versiones anteriores.
CodePage smallint Página de códigos del servidor o juego de caracteres utilizado por el servidor.
UnicodeLocaleId int Opción de configuración de Id. de configuración regional Unicode del servidor utilizada para ordenar datos de caracteres Unicode. Se proporciona para mantener la compatibilidad con versiones anteriores.
UnicodeComparisonStyle int Opción de configuración para el estilo de comparación Unicode del servidor, que proporciona control adicional sobre el orden de los datos Unicode. Se proporciona para mantener la compatibilidad con versiones anteriores.
CompatibilityLevel tinyint Configuración del nivel de compatibilidad de la base de datos de la que se creó la copia de seguridad.
SoftwareVendorId int Número de identificación del proveedor de software. En SQL Server, este número es 4608 (o su equivalente hexadecimal 0x1200).
SoftwareVersionMajor int Número de versión principal del servidor donde se creó el conjunto de copia de seguridad.
SoftwareVersionMinor int Número de versión secundario del servidor donde se creó el conjunto de copia de seguridad.
SoftwareVersionBuild int Número de compilación del servidor donde se creó el conjunto de copia de seguridad.
MachineName nvarchar(128) Nombre del equipo donde se realizó la operación de copia de seguridad.
Flags int Significados de los bits de las distintas marcas:

- 1 = La copia de seguridad de registros contiene registros de operaciones masivas.

- 2 = Copia de seguridad de instantánea.

- 4 = La base de datos era de solo lectura en el momento de la copia de seguridad.

- 8 = La base de datos estaba en modo de usuario único en el momento de la copia de seguridad.

- 16 = La copia de seguridad contiene sumas de comprobación de la copia de seguridad.

- 32 = La base de datos estaba dañada cuando se realizó la copia de seguridad, pero se solicitó que continuase a pesar de los errores.

- 64 = Copia del final del registro.

- 128 = Copia del final del registro con metadatos incompletos.

- 256 = Copia del final del registro con NORECOVERY.

Importante: Se recomienda que, en lugar de Flags, use las columnas booleanas individuales (desde HasBulkLoggedData hasta IsCopyOnly en esta tabla).
BindingID uniqueidentifier Id. de enlace de la base de datos. Este valor corresponde a database_guid en sys.database_recovery_status. Cuando se restaura una base de datos, se asigna un valor nuevo. Vea también FamilyGUID.
RecoveryForkID uniqueidentifier Id. de la bifurcación de recuperación final. Esta columna corresponde a last_recovery_fork_guid en la tabla backupset.

En las copias de seguridad de datos, RecoveryForkID es igual que FirstRecoveryForkID.
Collation nvarchar(128) Intercalación que utiliza la base de datos.
FamilyGUID uniqueidentifier Id. de la base de datos original cuando se creó. Este valor permanece invariable cuando se restaura la base de datos.
HasBulkLoggedData bit 1 = Copia del registro que contiene registros de operaciones masivas.
IsSnapshot bit 1 = Copia de seguridad de instantánea.
IsReadOnly bit 1 = La base de datos era de solo lectura en el momento de la copia de seguridad.
IsSingleUser bit 1 = La base de datos era de un solo usuario en el momento de la copia de seguridad.
HasBackupChecksums bit 1 = La copia de seguridad contiene sumas de comprobación de copia de seguridad.
IsDamaged bit 1 = La base de datos estaba dañada cuando se realizó la copia de seguridad, pero se solicitó que continuase a pesar de los errores.
BeginsLogChain bit 1 = Es el primer elemento de una cadena continua de copias de seguridad de registros. Una cadena de registro empieza por la primera copia de seguridad de registros realizada después de la creación de la base de datos o cuando se cambia del modelo de recuperación simple al modelo de recuperación completo o al modelo de recuperación optimizado para cargas masivas de registros.
HasIncompleteMetaData bit 1 = Copia del final del registro con metadatos incompletos.

Para más información sobre las copias del final del registro con metadatos incompletos, vea Copias del final del registro (SQL Server).
IsForceOffline bit 1 = Copia de seguridad realizada con NORECOVERY; el proceso de copia de seguridad dejó la base de datos sin conexión.
IsCopyOnly bit 1 = Copia de seguridad de solo copia.

Una copia de seguridad de solo copia no afecta a los procedimientos de copia de seguridad y restauración generales de la base de datos. Para obtener más información, consulte Copias de seguridad de solo copia (SQL Server).
FirstRecoveryForkID uniqueidentifier Id. de la bifurcación de recuperación inicial. Esta columna corresponde a first_recovery_fork_guid en la tabla backupset.

En las copias de seguridad de datos, FirstRecoveryForkID es igual que RecoveryForkID.
ForkPointLSN numeric(25,0) Si FirstRecoveryForkID no es igual que RecoveryForkID, este valor es el número de secuencia de registro del punto de bifurcación. De lo contrario, este valor es NULL.
RecoveryModel nvarchar(60) Modelo de recuperación de la base de datos; uno de los siguientes valores:

- FULL
- BULK-LOGGED
- SIMPLE
DifferentialBaseLSN numeric(25,0) Para una copia de seguridad diferencial con una única base, el valor es el FirstLSN de la base diferencial. En la copia diferencial se incluyen los cambios con número de secuencia de registro mayor o igual que DifferentialBaseLSN.

Para una copia de seguridad diferencial con varias copias de seguridad base, el valor es NULL y el LSN de la copia de seguridad base debe determinarse en el nivel de archivo. Para obtener más información, vea RESTORE FILELISTONLY.

Para los tipos de copia de seguridad no diferenciales, el valor es siempre NULL.

Para obtener más información, vea Copias de seguridad diferenciales (SQL Server).
DifferentialBaseGUID uniqueidentifier Para una copia de seguridad diferencial con una única copia de seguridad base, el valor es el identificador único de la base diferencial.

Para las copias de seguridad diferenciales con varias copias de seguridad base, el valor es NULL y la base diferencial debe determinarse por archivo.

Para los tipos de copia de seguridad no diferenciales, el valor es NULL.
BackupTypeDescription nvarchar(60) Tipo de copia de seguridad como cadena, uno de los siguientes valores:

- DATABASE
- TRANSACTION LOG
- FILE OR FILEGROUP
- DATABASE DIFFERENTIAL
- FILE DIFFERENTIAL PARTIAL
- PARTIAL DIFFERENTIAL
BackupSetGUID uniqueidentifier Número de identificación único del conjunto de copia de seguridad mediante el cual se identifica en los medios. Puede ser NULL.
CompressedBackupSize bigint Recuento de bytes del conjunto de copia de seguridad. Para las copias de seguridad sin comprimir, este valor es igual que BackupSize.

Para calcular la relación de compresión, use CompressedBackupSize y BackupSize.

Durante una actualización de msdb, se establece este valor para que coincida con el valor de la columna BackupSize.
containment tinyint Se aplica a: SQL Server 2012 (11.x) y versiones posteriores.

Indica el estado de contención de la base de datos.

0 = el estado de contención de la base de datos es OFF
1 = la base de datos está en estado de contención parcial
KeyAlgorithm nvarchar(32) Se aplica a: SQL Server 2014 (12.x) CU 1 y versiones posteriores.

Algoritmo de cifrado usado para cifrar la copia de seguridad. NO_Encryption indica que no se cifró la copia de seguridad. Cuando no se puede determinar el valor correcto, el valor debe ser NULL.
EncryptorThumbprint varbinary(20) Se aplica a: SQL Server 2014 (12.x) CU 1 y versiones posteriores.

La huella digital del sistema de cifrado que se puede utilizar para encontrar el certificado o la clave asimétrica en la base de datos. Si la copia de seguridad no se cifró, este valor es NULL.
EncryptorType nvarchar(32) Se aplica a: SQL Server 2014 (12.x) CU 1 y versiones posteriores.

Tipo de sistema de cifrado usado: certificado o clave asimétrica. Si la copia de seguridad no se cifró, este valor es NULL.
LastValidRestoreTime datetime Se aplica a: SQL Server 2022 (16.x) y versiones posteriores.

La última hora de restauración válida.
TimeZone nvarchar(32) Se aplica a: SQL Server 2022 (16.x) y versiones posteriores.

Zona horaria del servidor desde la que se realizó la copia de seguridad.
CompressionAlgorithm nvarchar(32) Se aplica a: SQL Server 2022 (16.x) y versiones posteriores.

Identifica el algoritmo de compresión utilizado para comprimir el archivo de copia de seguridad. El valor predeterminado es MS_XPRESS. Para obtener más información, vea BACKUP.

1 Si se definen contraseñas para los conjuntos de copia de seguridad, RESTORE HEADERONLY solo muestra información completa para el conjunto de copia de seguridad cuya contraseña coincida con la opción PASSWORD especificada en el comando. RESTORE HEADERONLY también muestra información completa para los conjuntos de copia de seguridad no protegidos. La columna BackupName de los otros conjuntos de copia de seguridad protegidos con contraseña que hay en los medios se establece en 'Password Protected' y todas las demás columnas son NULL.

Comentarios

Un cliente puede utilizar RESTORE HEADERONLY para obtener toda la información de encabezado de todas las copias de seguridad de un dispositivo determinado. Para cada copia de seguridad del dispositivo de copia de seguridad, el servidor envía la información del encabezado como una fila.

RESTORE HEADERONLY consulta todos los conjuntos de copia de seguridad en los medios. Por tanto, puede llevar algún tiempo generar este conjunto de resultados si se utilizan unidades de cinta de alta capacidad. Para tener una visión rápida de los medios sin obtener información acerca de cada conjunto de copia de seguridad, utilice RESTORE LABELONLY o especifique FILE = <backup_set_file_number>.

Debido a la naturaleza del formato de cinta de Microsoft, es posible que los conjuntos de copia de seguridad de otros programas de software ocupen espacio en los mismos medios que los conjuntos de copia de seguridad del servidor de SQL Server. El conjunto de resultados que devuelve RESTORE HEADERONLY contiene una fila por cada uno de estos otros conjuntos de copia de seguridad.

Seguridad

La operación de copia de seguridad puede especificar opcionalmente contraseñas para un conjunto de medios, para un conjunto de copia de seguridad o para ambos. Si se ha definido una contraseña en un conjunto de medios o un conjunto de copia de seguridad, debe especificar la contraseña o contraseñas correctas en la instrucción RESTORE. Estas contraseñas impiden operaciones de restauración y anexiones no autorizadas de los conjuntos de copia de seguridad en medios que utilizan herramientas de SQL Server. No obstante, la contraseña no impide que se sobrescriba el medio con la opción FORMAT de la instrucción BACKUP.

Importante

El nivel de protección que proporciona esta contraseña es bajo. El objetivo es impedir una restauración incorrecta con las herramientas de SQL Server, ya sea por parte de usuarios autorizados o no autorizados. No impide la lectura de los datos de las copias de seguridad por otros medios o el reemplazo de la contraseña. Esta característica se quitará en una versión futura de SQL Server. Evite usar esta característica en el nuevo trabajo de desarrollo y planee modificar las aplicaciones que actualmente usan esta característica. El procedimiento recomendado para proteger las copias de seguridad es almacenar cintas de copia de seguridad en una ubicación segura o realizar copias de seguridad en archivos de disco protegidos por listas de control de acceso (ACL) adecuadas. Las ACL se deben establecer en el directorio raíz en el que se crean las copias de seguridad.

Permisos

Para obtener información sobre un conjunto de copia de seguridad o un dispositivo de copia de seguridad, es necesario el permiso CREATE DATABASE. Para obtener más información, vea Permisos de base de datos GRANT (Transact-SQL).

Ejemplos

En el ejemplo siguiente se devuelve la información del encabezado del archivo de disco C:\AdventureWorks-FullBackup.bak.

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

Vea también