Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Аудит действий пользователя в системе  [new]
Allaire
Member

Откуда: Киев
Сообщений: 70
Добрый день коллеги,

Мне нужен совет как лучше всего имплементировать аудит действий пользователя в системе. Не считая стандартных фич, таких как время логина/выхода из системы и времени использования системы, требуется еще и лог изменений, которые пользователь осуществил в БД/системе (т.е. нужно знать кто и когда изменил ту или иную запись).
20 янв 15, 19:34    [17144829]     Ответить | Цитировать Сообщить модератору
 Re: Аудит действий пользователя в системе  [new]
komrad
Member

Откуда:
Сообщений: 5741
Allaire,

сиквел версии?

на вскидку - CDC (http://msdn.microsoft.com/en-us/library/bb933994(v=sql.110).aspx)
20 янв 15, 21:35    [17145190]     Ответить | Цитировать Сообщить модератору
 Re: Аудит действий пользователя в системе  [new]
борис абрамович б
Guest
komrad,

но с CDC он не узнает user_name конкретно взятого изменения
20 янв 15, 21:45    [17145209]     Ответить | Цитировать Сообщить модератору
 Re: Аудит действий пользователя в системе  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31961
Allaire
т.е. нужно знать кто и когда изменил ту или иную запись
Триггер
20 янв 15, 22:09    [17145265]     Ответить | Цитировать Сообщить модератору
 Re: Аудит действий пользователя в системе  [new]
komrad
Member

Откуда:
Сообщений: 5741
борис абрамович б
komrad,

но с CDC он не узнает user_name конкретно взятого изменения

мда, это так, отзываю вариант :)
20 янв 15, 22:17    [17145294]     Ответить | Цитировать Сообщить модератору
 Re: Аудит действий пользователя в системе  [new]
Allaire
Member

Откуда: Киев
Сообщений: 70
[quot komrad]Allaire,
сиквел версии?[quot]
2012 EE
20 янв 15, 23:33    [17145584]     Ответить | Цитировать Сообщить модератору
 Re: Аудит действий пользователя в системе  [new]
Crimean
Member

Откуда:
Сообщений: 13147
alexeyvg
Allaire
т.е. нужно знать кто и когда изменил ту или иную запись
Триггер


+1. особенно для чего-то типа вебсайтов. где явных скульных логинов как класса нет у пользователей
остальные средства никак не ориентированы на то, что зовется "аудит"
20 янв 15, 23:40    [17145616]     Ответить | Цитировать Сообщить модератору
 Re: Аудит действий пользователя в системе  [new]
Allaire
Member

Откуда: Киев
Сообщений: 70
alexeyvg
Allaire
т.е. нужно знать кто и когда изменил ту или иную запись
Триггер


Триггер это само собой... в идеале должно получится что-то похожее на контроль версий с аудитом изменений как в JIRA.
Проблема лишь в том что фронт-энд не работает напрямую с DAL а в качестве передачи/получения данных используются сервисы на ESB шине (BizTalk), они ходят в базу под системным пользователем.
Меня так-же интересует насколько сильно полный аудит замедлит систему и как выбрать правильную стратегию аудита, т.е. что целесообразно фиксировать а что нет?
20 янв 15, 23:42    [17145627]     Ответить | Цитировать Сообщить модератору
 Re: Аудит действий пользователя в системе  [new]
Alex_496
Member [заблокирован]

Откуда: https://www.dvbi.ru
Сообщений: 3869
Allaire,

смотря насколько глубокий аудит Вам нужен. Можно для каждого элемента управления на форме GUI создать классы, и в событиях писать клики в SQL-таблицу. Тогда можно отслеживать кто, когда, какие кнопки/формы юзал.

Можно триггеры. Также использовал только пользовательские хранимые процедуры, CLR которые пишут в таблицу те события, которые нужно было отслеживать, например, кто, когда, какой sql-запрос-отчет запускал
21 янв 15, 00:19    [17145775]     Ответить | Цитировать Сообщить модератору
 Re: Аудит действий пользователя в системе  [new]
Crimean
Member

Откуда:
Сообщений: 13147
> Проблема лишь в том что фронт-энд не работает напрямую с DAL а в качестве передачи/получения данных
> используются сервисы на ESB шине (BizTalk), они ходят в базу под системным пользователем.

а как вы определите "кто"?

> Меня так-же интересует насколько сильно полный аудит замедлит систему

условно вдвое. потому как на каждый "чих" вам надо будет писать теперь вдвое больше

> и как выбрать правильную стратегию аудита, т.е. что целесообразно фиксировать а что нет

а это вам должны сказать. что вам важно. и - что не менее важно - что и как после вам нужно будет показать. + после архивации "это" тоже как-то надо показать. возможно.
21 янв 15, 00:39    [17145833]     Ответить | Цитировать Сообщить модератору
 Re: Аудит действий пользователя в системе  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31961
Allaire
Проблема лишь в том что фронт-энд не работает напрямую с DAL а в качестве передачи/получения данных используются сервисы на ESB шине (BizTalk), они ходят в базу под системным пользователем.
Естественно, нужно передать информацию о том, какой пользователь делает операцию. Раз все под одним, можно, например, передавать пользователя в "контексте" соединения.
Allaire
Меня так-же интересует насколько сильно полный аудит замедлит систему и как выбрать правильную стратегию аудита, т.е. что целесообразно фиксировать а что нет?
"что целесообразно фиксировать а что нет" - эависит от бизнес-требований, а не от производительности.

Насколько замедлит - зависит от того, какие действия делаются в систене.

Предельное замедление вставок и изменений - в 2 раза. Но реально получается процентов на 10, а часто и того меньше. Ведь запись в таблицы - это только небольшая часть нагрузки, для записи нужно обычно что то и прочитать, например. Плюс к этому, рабочие таблицы содержат обычно больше индексов, чем таблицы аудита.
Я уж не говорю о том, что и писать можно меньше, не все данные.
В общем, аудит - это обычно не страшно в плане производительности, даже полный аудит.
21 янв 15, 08:59    [17146233]     Ответить | Цитировать Сообщить модератору
 Re: Аудит действий пользователя в системе  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28355
Crimean
> Меня так-же интересует насколько сильно полный аудит замедлит систему

условно вдвое. потому как на каждый "чих" вам надо будет писать теперь вдвое больше
Дак может в системе операций записи 10%, а чтения 90% :)
21 янв 15, 09:23    [17146345]     Ответить | Цитировать Сообщить модератору
 Re: Аудит действий пользователя в системе  [new]
Crimean
Member

Откуда:
Сообщений: 13147
skyANA
Crimean
> Меня так-же интересует насколько сильно полный аудит замедлит систему

условно вдвое. потому как на каждый "чих" вам надо будет писать теперь вдвое больше
Дак может в системе операций записи 10%, а чтения 90% :)


модификацию - условно вдвое :)
21 янв 15, 10:52    [17147059]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить