Al fin luego de tanto batallar hemos encontrado el resultado de esta impedimento que muchos usuarios de este espacio tienen. Si tienes algo que aportar no dudes en dejar tu conocimiento.
Solución:
Esto enumerará todas las restauraciones “más recientes” para cada base de datos en su servidor:
WITH LastRestores AS
(
SELECT
DatabaseName = [d].[name] ,
[d].[create_date] ,
[d].[compatibility_level] ,
[d].[collation_name] ,
r.*,
RowNum = ROW_NUMBER() OVER (PARTITION BY d.Name ORDER BY r.[restore_date] DESC)
FROM master.sys.databases d
LEFT OUTER JOIN msdb.dbo.[restorehistory] r ON r.[destination_database_name] = d.Name
)
SELECT *
FROM [LastRestores]
WHERE [RowNum] = 1
El script que se puede utilizar es:
declare @DB sysname = 'MyDB';
select * from msdb.dbo.restorehistory where destination_database_name = @DB;
la tabla principal para este propósito es msdb..restorehistory
SELECT [rs].[destination_database_name] ,
[rs].[restore_date] ,
[bs].[backup_start_date] ,
[bs].[backup_finish_date] ,
[bs].[database_name] AS [source_database_name] ,
[bmf].[physical_device_name] AS [backup_file_used_for_restore]
FROM msdb..restorehistory rs
INNER JOIN msdb..backupset bs ON [rs].[backup_set_id] = [bs].[backup_set_id]
INNER JOIN msdb..backupmediafamily bmf ON [bs].[media_set_id] = [bmf].[media_set_id]
ORDER BY [rs].[restore_date] DESC
de mssqltips
Sección de Reseñas y Valoraciones
Puedes añadir valor a nuestro contenido informacional participando con tu experiencia en las reseñas.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)