Если вы пытаетесь
зарегистрировать все обновления, запущенные для таблицы, чтобы я мог отследить его до IP-адреса и имени пользователя
Триггер - определенно неправильный путь, триггеры были не предназначены для этого, и есть другие средства ASE, которые были предназначены для этого.Речь идет не о таблице, а о безопасности и мониторинге в целом.
Аудит Sybase.
Это требует немного настройки, намного меньше накладных расходов, чем таблицы MAD;но самое главное, он был разработан для аудита (MDA не было).И нет никаких требований к кодированию, таких как для MDA.Он легко настраивается, идея состоит в том, чтобы захватывать только то, что вам нужно, а не больше.
Мониторинг.
Я бы не рекомендовал таблицы MDA, но так как они у вас есть, и вы включили мониторинг, и приняли 22% накладных расходов для захвата текста SQL.Информация очень преходящая.Чтобы использовать их для любых соответствующих целей, таких как ваша, вам нужно написать механизм захвата и хранения, архивирующий всю необходимую информацию в архивную базу данных.Это должно быть сделано на постоянной основе и полностью независимо от триггера и т. Д. Вы также можете фильтровать на лету, чтобы уменьшить объем хранимых данных (предупреждение, оно огромно).очистка данных за 7 дней и т. д. Это небольшой проект сам по себе, поэтому он доступен для коммерческого использования от третьих лиц.
Как только любое из этих средств будет установлено,отдельно, когда вы хотите узнать, кто обновил таблицу, когда и откуда, все, что вам нужно сделать, это проверить архив.не имеет ничего общего с триггером, трудностями с получением информации из триггера или предоставлением прав администратора обычным пользователям.
Кроме того, следует учитывать, что у вас нет нормальной защиты на месте, таблицыобновляется напрямую пользователями;таким образом, прямые разрешения на обновление были предоставлены либо конкретным пользователям, либо, что еще хуже, всем пользователям.Как следствие, нет способа узнать, кто обновляет таблицу, а кто нарушает целостность данных или ссылочной целостности.
- Безопасный метод - поместить всю транзакцию в хранимый процесс, таким образомустранение возможности незавершенных транзакций (а также повышение скорости исполнения);и предоставлять разрешения для процедур, а не таблиц, таким образом исключая прямые обновления.Со временем вы, возможно, захотите внедрить защиту на сервере, чтобы последствия не приходилось преследовать и закрывать один за другим, процесс без конечного конца.
Что касается аудитаЕсли безопасность была на месте, нагрузка на аудит также существенно снижается: вам нужно только проверять выполнение хранимых процедур.В противном случае вам необходимо проверить все обновления всех таблиц.