Situatie
Uneori avem nevoie sa aflam istoricul restaurarilor pentru o baza de pe serverul de sql. Pentru aceasta am creat o procedura ce returneaza istoricul de restore pentru o anumita baza ce este primita ca parametru al procedurii.
NumeBaza – numele bazei pentru care se returneaza istoricul de restore
DataRestaurare – data si ora la care s-a facut restaurarea respectiva
LSN_First – reprezinta log sequence number-ul de la care a pornit restaurarea (poate fi util in anumite situatii)
LSN_First – reprezinta log sequence number-ul la care s-a oprit restaurarea (poate fi util in anumite situatii)
TipRestaurare – daca a fost facuta o restaurare de tip Full, Differential, Log, Filegroup, etc.
Solutie
alter procedure BD_RestoreHistory_prc
@NumeBaza varchar(max)
as
select
bus.server_name as NumeServer,
bus.database_name as NumeBaza,
rh.restore_date as DataRestaurare,
CAST(bus.first_lsn AS VARCHAR(50)) as LSN_First,
CAST(bus.last_lsn AS VARCHAR(50)) as LSN_Last,
CASE rh.[restore_type]
WHEN ‘D’ THEN ‘Full’
WHEN ‘F’ THEN ‘File’
WHEN ‘G’ THEN ‘Filegroup’
WHEN ‘I’ THEN ‘Differential’
WHEN ‘L’ THEN ‘Log’
WHEN ‘V’ THEN ‘Verifyonly’
END AS TipRestaurare
FROM msdb.dbo.backupset bus
INNER JOIN msdb.dbo.restorehistory rh ON rh.backup_set_id = bus.backup_set_id
WHERE bus.database_name = @NumeBaza
order by 3 desc
Leave A Comment?