SQL 2008 R2: Wie kann ermittelt werden, wer die Datenbank wiederhergestellt hat?

SQL 2008 R2: Wie kann ermittelt werden, wer die Datenbank wiederhergestellt hat?

Unsere Datenbank wurde vor Kurzem wiederhergestellt. Das hat einiges an Ärger verursacht. Gibt es einen Prüfmechanismus, um festzustellen, wer die letzte Wiederherstellung durchgeführt hat? Danke.

Antwort1

Ich habe gerade eine Wiederherstellung getestet und sie schien tatsächlich in der Standardablaufverfolgung aufgezeichnet zu sein. Bringt diese Abfrage Licht ins Dunkel? (Wenn die aktuell ausgeführte Ablaufverfolgungsdatei nicht weit genug zurückreicht, müssen Sie dies möglicherweise etwas anpassen. Es gibt wahrscheinlich noch ein paar weitere *.trc-Dateien im logOrdner, die untersucht werden müssen.)

declare @filepath nvarchar(1000)

SELECT @filepath = cast(value as nvarchar(1000)) FROM [fn_trace_getinfo](NULL)
WHERE [property] = 2 and traceid=1

print @filepath

SELECT * 
FROM [fn_trace_gettable](@filepath, DEFAULT)
WHERE TextData LIKE '%RESTORE DATABASE%'
ORDER BY StartTime DESC;

Antwort2

Sofern Sie keine Backup-Software von Drittanbietern haben, die diese Aufgabe übernimmt und für Sie aufzeichnet, oder Sie eine SQL Profiler-Ablaufverfolgung ausgeführt haben, können Sie sich am besten den Eigentümer der Datenbank ansehen und hoffen, dass dieser nicht von demjenigen geändert wurde, der sie wiederhergestellt hat. SQL zeichnet im Serverprotokoll nicht auf, wer die Wiederherstellung durchgeführt hat, und meldet dies auch nicht im Ereignisprotokoll.

verwandte Informationen