Solo estoy jugando con la interfaz gráfica SSMS y estudiando las opciones de la tarea "restaurar".
Una cosa que noté es que cuando hago clic en "generar script", la primera línea de la consulta es:
RESTORE DATABASE [MyDatabase] FROM DISK = N'Server_Patch\Database_name_LOGSHIPPING.BKP' WITH FILE = 1, NORECOVERY, NOUNLOAD, STATS = 5 ( and a lot of log backups for point in time )
Ok, no hay problema, pero estoy haciendo copias de seguridad diarias de esta base de datos. estaDatabase_name_LOGSHIPPING.BKP
era el nombre del archivo que hice para el envío de registros hace un mes.
¿Por qué cuando trato de usar la interfaz gráfica SSMS para restaurar una copia de seguridad, apunta a este archivo de copia de seguridad? Ya ni siquiera tengo este archivo.
Con esta consulta de MSSQLTIPS puedo ver todas las copias de seguridad de esta base de datos:
SELECT
CONVERT(CHAR(100), SERVERPROPERTY('Servername')) AS Server,
msdb.dbo.backupset.database_name,
msdb.dbo.backupset.backup_start_date,
msdb.dbo.backupset.backup_finish_date,
msdb.dbo.backupset.expiration_date,
CASE msdb..backupset.type
WHEN 'D' THEN 'Database'
WHEN 'L' THEN 'Log'
END AS backup_type,
msdb.dbo.backupset.backup_size,
msdb.dbo.backupmediafamily.logical_device_name,
msdb.dbo.backupmediafamily.physical_device_name,
msdb.dbo.backupset.name AS backupset_name,
msdb.dbo.backupset.description
FROM msdb.dbo.backupmediafamily
INNER JOIN msdb.dbo.backupset ON msdb.dbo.backupmediafamily.media_set_id = msdb.dbo.backupset.media_set_id
WHERE (CONVERT(datetime, msdb.dbo.backupset.backup_start_date, 102) >= GETDATE() - 7) and msdb..backupset.type ='D'
ORDER BY
msdb.dbo.backupset.database_name,
msdb.dbo.backupset.backup_finish_date
¿Qué puede estar mal aquí? No estoy usando COPIA SOLAMENTE.
EDIT2:
Estoy haciendo copias de seguridad manuales diarias para probar, e incluso de esta manera, SQL Server selecciona esa copia de seguridad anterior que ya no existe. Cuando se ejecuta RESTORE HEADERONLY...
dice (obviamente) el archivo no existe.
EDITAR 3:
Esta es la impresión GUI:
Wow Wow Wow ¡ESPERA UN MINUTO !
Esta base de datos fue una restauración desde otro servidor (mismo servidor, instancias diferentes). Huuum ... creo que el problema está aquí.
¿Pueden ver en "servidor" en la segunda imagen? Tiene 2 servidores. Estoy usando el que tiene la instancia de nombres GDLIC2014.
la secuencia de comandos:
El script de respaldo:
DECLARE @Patch varchar(1000)
SELECT @Patch = (SELECT 'PATCH\FULL\DATABASE_ ' + convert(varchar(500),GetDate(),112) + '.bkp')
BACKUP DATABASE DATABASE TO DISK=@Patch with compression
Con la misma consulta de MSSQLTIPS, pude encontrar estos resultados, utilizándolo sin rango de fechas:
El cuadrado rojo es el respaldo incorrecto de la instancia anterior, el cuadrado azul es el último respaldo tomado (la GUI debería estar usándolo)
EDITAR 4:
Bueno, con esta consulta para enumerar el Historial de copias de seguridad, veo que todos los registros y todos están correctamente listados:
SELECT TOP 100
s.database_name,
m.physical_device_name,
CAST(CAST(s.backup_size / 1000000 AS INT) AS VARCHAR(14)) + ' ' + 'MB' AS bkSize,
CAST(DATEDIFF(second, s.backup_start_date,
s.backup_finish_date) AS VARCHAR(4)) + ' ' + 'Seconds' TimeTaken,
s.backup_start_date,
CAST(s.first_lsn AS VARCHAR(50)) AS first_lsn,
CAST(s.last_lsn AS VARCHAR(50)) AS last_lsn,
CASE s.[type]
WHEN 'D' THEN 'Full'
WHEN 'I' THEN 'Differential'
WHEN 'L' THEN 'Transaction Log'
END AS BackupType,
s.server_name,
s.recovery_model
FROM msdb.dbo.backupset s
INNER JOIN msdb.dbo.backupmediafamily m ON s.media_set_id = m.media_set_id
WHERE s.database_name = DB_NAME() -- Remove this line for all the database
ORDER BY backup_start_date DESC, backup_finish_date
GO
EDITAR5:
¿Hay algo para reiniciar el encabezado de la base de datos?
(Estoy sin ideas)