SQL 2008 R2: ¿Cómo determinar quién restauró la base de datos?

SQL 2008 R2: ¿Cómo determinar quién restauró la base de datos?

Nuestra base de datos fue restaurada recientemente. Causó un verdadero dolor. ¿Existe un mecanismo de auditoría para determinar quién ejecutó la restauración más reciente? Gracias.

Respuesta1

Acabo de probar una restauración y parecía estar registrada en el seguimiento predeterminado. ¿Esta consulta arroja alguna luz? (Si el archivo de seguimiento que se está ejecutando actualmente no se remonta lo suficiente, es posible que deba ajustarlo un poco; es probable que haya algunos archivos *.trc más para investigar en la logcarpeta)

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;

Respuesta2

A menos que tenga un software de respaldo de terceros que realice la tarea y la registre por usted o que esté ejecutando un seguimiento del SQL Profiler, lo mejor que puede hacer es mirar al propietario de la base de datos y esperar que no haya sido cambiado por quienquiera que sea. lo restauró. SQL no registra quién realizó la restauración en el registro del servidor ni lo informa en el registro de eventos.

información relacionada