2015-03-09 3 views
0

Просто интересно, существует ли таблица журналов/аудита для хранения информации, например, какие пользователи создали/изменили/удалили ключи или индексы и т. Д.?SQL Server - Как узнать, кто удалил ключ?

+0

2 секунды с Google. https://msdn.microsoft.com/en-us/library/cc280386.aspx –

+3

Если вы уже включили триггеры DDL, вы можете это проверить. Предполагая, что у вас нет вашего следующего шага, вы можете использовать своего рода считыватель транзакций –

+0

@ Nick.McDermaid Thx. Вы сталкивались с любыми хорошими читателями журнала? Я попробовал ApexSQL Log, но его возвращающий пустой результат мне. – user3268139

ответ

1

По умолчанию трассировка фиксирует изменения DDL. Ниже приведен пример, чтобы получить информацию об этой информации.

--Object:Created and Object:Altered events from default trace 
SELECT 
    te.name AS EventName 
    ,tt.StartTime as st 
    ,tt.DatabaseName 
    ,tt.ObjectName 
FROM sys.traces AS t 
CROSS APPLY [fn_trace_gettable](t.path, DEFAULT) AS tt 
JOIN sys.trace_events AS te ON 
    te.trace_event_id = tt.EventClass 
WHERE 
    tt.EventClass in (46,164) 
    AND tt.EventSubClass = 0 
ORDER BY st DESC; 
Смежные вопросы