¿Cómo encontrar quien borro la base de datos? ¿Esto se guarda en SQL Server?

By | 2012/07/11
Visitas: 1688 - Sin Comentarios

Si estás buscando respuestas a preguntas como:

¿Quién borro la base de datos?
¿Quién creo esa base de datos?
¿Quién modifico esa base de datos?
¿Quién modifico la configuración de esa base de datos?
¿Quién borro el esquema?
¿Quién modifico el esquema?
¿Quién cambio la configuración del servidor?
¿Quién modifico ese usuario?
¿Quién modifico esa tabla?

Si en efecto esto es así…

¡SI! ¡SQL Server puede hacerlo! A partir de la versión 2005 en adelante.

Es aquí cuando la traza por defecto de SQL Server entra en el cuadro (http://msdn.microsoft.com/en-us/library/ms175513.aspx)

¿Qué es la Traza por Defecto de SQL Server?

La traza por defecto proporciona asistencia a los administradores de bases de datos asegurándose que ellos posean toda la información necesaria para diagnosticar problemas la primera vez que estos ocurren

Para ver las opciones de la traza por defecto usar:

SELECT * FROM ::fn_trace_getinfo(default)

Para conocer que es auditado por la traza:

SELECT Trc.EventID, Trc.ColumnID, 
Evt.name as Event_Description, Col.name as Column_Description
  FROM ::fn_trace_geteventinfo(1) Trc
    JOIN sys.trace_events Evt ON Trc.eventID = Evt.trace_event_id
    JOIN sys.trace_columns Col ON Trc.columnid = Col.trace_column_id

Ejemplo:

A continuación se muestra una captura de pantalla del reporte “Schema Changes History” a nivel servidor.

Ve como este muestra cuando se borró y modifico la base de datos:

Lo mismo puede ser visto por consulta de SQL:

select * from fn_trace_gettable('C:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\Log\log.trc',DEFAULT)
where EventClass in (46,47,164) and EventSubclass = 0 and DatabaseID <> 2

La traza por defecto puede ser consultada para hallar los Create / Alter / Drop, es decir, los cambios de DDL realizados en la base de datos, el esquema o a nivel objeto. Para encontrar la creación de un login, modificaicones y fallas. Para enconrar problemas de rendimiento como son las estadísticas desactualizadas, predicados, hash, sort o alarmas de crecimiento o reducción de archivos

Para tener en cuenta

La traza por defecto viene activada por defecto en SQL Server.
Las propiedades de la traza por defecto no pueden ser modificadas, solo se la puede activar y desactivar.
La traza por defecto se aloja en la carpeta de Log de SQL Server.

El archive de la traza se recrea nuevamente con el inicio del servicio de SQL Server.
Un solo archivo de traza puede almacenar hasta 20 Mb, cuando se alcanza este tamaño un nuevo archivo es creado.
SQL Server mantiene 5 archivos, donde el archivo de mayor numeración es el más nuevo.
La traza pro defecto no impacta sobre el rendimiento del equipo y no reemplaza los Triggers de DDL.
La traza por defecto registra solo información básica, si es necesario un mayor detalle se deben emplear los triggers de DDL.

Fuente: sivasql.blogspot.com.ar