Istoric restaurare pentru o anumita baza

Configurare noua (How To)

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.

Procedura returneaza cate o linie pentru fiecare restore efectuat pentru baza primita ca paremtru, iar coloanele returnate sunt:
NumeServer – numele serverului pe care este baza
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

Tip solutie

Permanent
Etichetare:

Voteaza

(17 din 41 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?