Instrucciones RESTORE: HEADERONLY (Transact-SQL)
Se aplica a:SQL Server
Azure 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 Microsoft Azure Blob Storage y se admite a partir de SQL Server 2012 (11.x) SP1 CU2. Aunque Microsoft Azure Storage es un servicio, la implementación es similar al disco y la cinta para permitir una experiencia de restauración coherente y sin problemas para los tres dispositivos.
Argumentos
Para obtener las descripciones de los argumentos RESTORE HEADERONLY, vea Argumentos de RESTORE Arguments (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:
Nota:
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 sobre cada conjunto de copia de seguridad, use RESTORE LABELONLY o especifique FILE =backup_set_file_number.
Nota:
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 Microsoft SQL Server. El conjunto de resultados que devuelve RESTORE HEADERONLY contiene una fila por cada uno de estos otros conjuntos de copia de seguridad.
Nombre de la columna | Tipo de datos | Descripción de los conjuntos de copia de seguridad de SQL Server |
---|---|---|
BackupName | nvarchar(128) | Nombre del conjunto de copia de seguridad. |
BackupDescription | nvarchar(255) | Descripción del conjunto de copia de seguridad. |
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(1) | Si el conjunto de copia de seguridad se comprime con el sistema de compresión por software: 0 = No 1 = Sí |
Posición | 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 URL 9 = Lógico 109 = Físico Los nombres de dispositivos lógicos y los números de dispositivo se encuentran en sys.backup_devices; para más información, vea sys.backup_devices (Transact-SQL). |
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 LSN coincide con FirstLSN si la copia de seguridad se realiza cuando la base de datos está inactiva y no está configurada la replicación. |
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. |
Marcas | int | Significados de los bits de marcas individuales si se establece en 1: 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 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 que se enumeran a continuación, desde HasBulkLoggedData hasta IsCopyOnly. |
BindingID | uniqueidentifier | Id. de enlace de la base de datos. Corresponde a sys.database_recovery_status database_guid. Cuando se restaura una base de datos, se asigna un valor nuevo. Vea también FamilyGUID (abajo). |
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. |
Intercalación | 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 crear la base de datos o cuando se cambia del modelo de recuperación simple al 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 copias 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) NULL | Si FirstRecoveryForkID no es igual que RecoveryForkID, este 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) NULL | Para una copia de seguridad diferencial con una única copia de seguridad base, el valor es igual al FirstLSN de la base diferencial; los cambios con LSN superiores o iguales a DifferentialBaseLSN se incluyen en la copia diferencial. 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 (Transact-SQL). 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 NULL | Número de identificación único del conjunto de copia de seguridad mediante el cual se identifica en los medios. |
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 razó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 not NULL | Válido para : 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 (SQL Server 2014 [12.x] [CU1] hasta la versión actual). 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 (SQL Server 2014 [12.x] [CU1] hasta la versión actual). 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 (SQL Server 2014 [12.x] [CU1] hasta la versión actual). 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 partir de: SQL Server 2022 (16.x). Identifica el algoritmo de compresión utilizado para comprimir el archivo de copia de seguridad. El valor predeterminado es MS_XPRESS. Ver COPIA DE SEGURIDAD (Transact-SQL). |
Nota:
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 (Protegido con contraseña) y todas las demás columnas son NULL.
Notas generales
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.
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 Microsoft 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 Microsoft 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
Consulte también
BACKUP (Transact-SQL)
backupset (Transact-SQL)
RESTORE REWINDONLY (Transact-SQL)
RESTORE VERIFYONLY (Transact-SQL)
RESTORE (Transact-SQL)
Historial de copias de seguridad e información de encabezados (SQL Server)
Habilitar o deshabilitar sumas de comprobación de copia de seguridad durante copia de seguridad o restauración (SQL Server)
Conjuntos de medios, familias de medios y conjuntos de copias de seguridad (SQL Server)
Modelos de recuperación (SQL Server)