
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 log
Ordner, 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.