Можно ли узнать какая прога подключена к базе данных???
Работаю С interbase.
А то юзеры делают изменения непосредственно в базе, а потом типа ни хрена не знают все
делали якобы через программы ни кто ни куда не лазил и все такое
по убивал бы их
Здравствуйте, barlock, Вы писали:
B>Можно ли узнать какая прога подключена к базе данных???
B>Работаю С interbase.
B>А то юзеры делают изменения непосредственно в базе, а потом типа ни хрена не знают все
B>делали якобы через программы ни кто ни куда не лазил и все такое
B>по убивал бы их
Можно посоветовать заложить эту ниформацию в дополнительные логины, типа
"Самый_тупой_юзер_Вася_Пупкин_из_программы_FAR"
"Самый_тупой_юзер_Вася_Пупкин_из_программы_X"
"Самый_тупой_юзер_Вася_Пупкин_из_программы_Y"
И по сессиям уже смотреть, кто куда и откуда лазит? и какие запросы шлёт..
Здравствуйте, barlock, Вы писали:
B>Можно ли узнать какая прога подключена к базе данных???
B>Работаю С interbase.
B>А то юзеры делают изменения непосредственно в базе, а потом типа ни хрена не знают все
B>делали якобы через программы ни кто ни куда не лазил и все такое
B>по убивал бы их
Худо дело. Этого узнать нельзя (про прогу).
Но есть некое решение — правда громоздкое, но работает железно!
Я сделал у себя так:
для таблиц с критическими данными создал дубликаты доступ к ним у юзеров только на вставку данных, на нормальной таблице в триггере на BeforeUpdate и BeforeDelete прописывается INSERT этих изменяемых данных в таблицу дубликат, в таблице дубликате есть еще поля для ввода имени юзверя, даты изменения и вида изменения (исправили, удалили).
И все, пусть правят чем угодно и что угодно — это все будет отражаться.
Ну и вопрос хранения этих записей в дубликатах — дело вкуса.
Можно и так оставить, можно время от времени куда-нибудь сливать.
Зато когда ты юзрерю покажешь что он сделал вот это и это — ему прийдется чесать репу.
Лично мне несколько раз (используя этот механизм) приходилось доказывать, что не я "верблюд". Показываешь что и как происходило — и все от программера отстали, начинаются "внутренние разборки" по выяснению вердблюдов.
Здравствуйте, barlock, Вы писали:
B>Можно ли узнать какая прога подключена к базе данных???
B>Работаю С interbase.
B>А то юзеры делают изменения непосредственно в базе, а потом типа ни хрена не знают все
B>делали якобы через программы ни кто ни куда не лазил и все такое
B>по убивал бы их
Пара предложений
1. Если этого еще не сделано, может стоит права доступа разным юзерам к разным объектам БД раздать соответствующие, чтоб каждый мог делать только то, что ему доступно правами...
2. Ну а кроме п.1, чтоб иметь полный контроль, кто что и когда надо сделать подсистему аудита всех именений...(для хранения информации, кто, какую опрецию, с какими данными и когда выпонлнял либо несколько таблиц выделить, либо можно дубликаты таблиц с данными делать. Тут короче творчески можно подойти.
Можно на таблицы навешать триггеры, которые о всех инзертах, апдейтах и
делитах будут писать в лог с указанием времени, рабочей станции и юзера,
который редактировал табличку.
Еще вариант: юзерам показывать вьюхи, а изменения в таблицах оформить
вызовом хранимых процедур.
Posted via RSDN NNTP Server 1.6