Аудит работы с базой

_Slash_
Дата: 16.11.2007 14:33:09
Здравствуйте все!

Хотелось бы послушать рекомендации по такой проблеме:
Собираюсь сделать аудит работы пользователей с программой а то надоели предъявы в стиле "было, никто не удалял, а вот исчезло" :)

Основные требования в порядке приоритета
1. Минимальный размер соответствующих таблиц.
2. Скорость
3. Удобство настройки.
4. Побыстрее сделать :)

Нужна настройка в стиле "мониторить эту таблицу/только эти поля в таблице на добавление/редактирование/удаление"
Как все это лучше реализовать в Дельфях?

(Есть вариант реализовать это на триггерах но не очень нравится поскольку потребует довольно хитрой кодогенерации, хотя понимаю что это наверно самый быстрый способ.)
Naf
Дата: 16.11.2007 14:39:06
Я бы даже рекомендовал триггеры. Единая точка ответственности, а то вы расширете возможности программы или напишете еще одну и забудете о логгировании
_Slash_
Дата: 16.11.2007 15:12:02
А нету где-нибудь хороших образцов кодогенерации этих триггеров под MS SQL?
А то дело на первый взглад непростое, можно долго провозиться...
tru55
Дата: 16.11.2007 15:13:39
А еще можно учесть, что у некоторых баз есть штатные средства аудита...
Naf
Дата: 16.11.2007 15:16:20
_Slash_
А нету где-нибудь хороших образцов кодогенерации этих триггеров под MS SQL?
А то дело на первый взглад непростое, можно долго провозиться...

На форум по MS SQL
_Slash_
Дата: 16.11.2007 15:24:07
Таки кодогенаратор в Дельфи будет сделан...Ну ладно, намек понял.
А без триггеров, по-тупому никто не делал?
Anatoly Podgoretsky
Дата: 16.11.2007 15:36:06
_Slash_
А нету где-нибудь хороших образцов кодогенерации этих триггеров под MS SQL?
А то дело на первый взглад непростое, можно долго провозиться...

Проще некуда, обычный запрос INSERT INTO
Anatoly Podgoretsky
Дата: 16.11.2007 15:38:13
_Slash_
Таки кодогенаратор в Дельфи будет сделан...Ну ладно, намек понял.
А без триггеров, по-тупому никто не делал?

А тупое решение - это путь в тупик.
Система аудита должна работать без возможности влияния хитроумных пользователей.
У кого то есть подпись
автор
Смешно говорить о моральном облике человека, у которого есть доступ до логов прокси

Это как раз твой случай.
_Slash_
Дата: 16.11.2007 15:47:36
Anatoly Podgoretsky
У кого то есть подпись
автор
Смешно говорить о моральном облике человека, у которого есть доступ до логов прокси

Это как раз твой случай.


Действительно смешно :)

А вот насчет простого инсерта - для добавления и удаления триггеры действительно простые.
А вот для UPDATE: предположим в таблице 100 полей, юзер поменял одно из них, желательно чтобы именно это отразилось в логах. Это уже как мне кажется не так просто. Как в триггере найти какие поля поменялись какие нет? Как вообще хранить все это дело в базе? Для каждого поля отдельную запись? Или большое текстовое поле где все это дело "описывать". Вот пока главный для меня вопрос.

Похоже топик действительно плавно перетекает в MSSQL....
Anatoly Podgoretsky
Дата: 16.11.2007 16:20:33
Конечно простые, три дополнительных поля к основным без всяких условий. Пишется за пару минут при владение триггерами.