Наша база данных была недавно восстановлена. Это вызвало настоящее горе. Есть ли механизм аудита для определения того, кто выполнил самое последнее восстановление? Спасибо.
Я только что протестировал восстановление, и мне показалось, что оно записано в трассировке по умолчанию. Этот вопрос проливает свет? (Если текущий запущенный файл трассировки не возвращается достаточно далеко назад, возможно, вам придется немного изменить это, вероятно, будет еще несколько файлов * .trc для исследования в log
папка)
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;
Если у вас нет стороннего программного обеспечения для резервного копирования, которое выполняет эту задачу и записывает ее за вас, или если вы запускали трассировку SQL Profiler, лучшее, что вы можете сделать, это посмотреть на владельца базы данных и надеяться, что он не изменился кем-либо восстановил это. SQL не записывает, кто выполнил восстановление, в журнале сервера и не сообщает об этом в журнале событий.