Estou apenas brincando com a interface gráfica do SSMS e estudando as opções da tarefa "restaurar".
Uma coisa que notei é quando clico em "gerar script", a primeira linha da consulta é:
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, não há problema, mas estou fazendo backups diários desse banco de dados. esse Database_name_LOGSHIPPING.BKP
era o nome do arquivo que eu criei para o envio de logs há um mês.
Por que quando tento usar a interface gráfica do SSMS para restaurar um backup, ele aponta para esse arquivo de backup? Eu nem tenho mais esse arquivo.
Com esta consulta do MSSQLTIPS, posso ver todos os backups desse banco de dados:
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
O que pode estar errado aqui? Não estou usando SOMENTE CÓPIA.
EDIT2:
Estou fazendo backups manuais diários para testar e, mesmo assim, o SQL Server seleciona o backup antigo que não existe mais. Ao executá- RESTORE HEADERONLY...
lo, diz (obviamente) que o arquivo não existe.
EDIT 3:
Essa impressão da GUI:
Uau Uau Uau ESPERE UM MINUTO !
Esse banco de dados foi uma restauração de outro servidor (mesmo servidor, instâncias diferentes). Huuum ... Eu acho que o problema está aqui.
Vocês podem ver no "servidor" na segunda foto? possui 2 servidores. Estou usando aquele com a instância de nomes GDLIC2014.
o script:
O script de backup:
DECLARE @Patch varchar(1000)
SELECT @Patch = (SELECT 'PATCH\FULL\DATABASE_ ' + convert(varchar(500),GetDate(),112) + '.bkp')
BACKUP DATABASE DATABASE TO DISK=@Patch with compression
Com a mesma consulta do MSSQLTIPS, eu pude encontrar esses resultados, usando-o sem intervalo de datas:
O quadrado vermelho é o backup errado da instância mais antiga, o quadrado azul é o último backup realizado (a GUI deve usá-lo)
EDIT 4:
Bem, com esta consulta para listar o histórico de backup, vejo que todos os logs e todos os arquivos estão listados corretamente:
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
EDIT5:
Existe algo para reiniciar o cabeçalho do banco de dados
(Estou sem ideias)