Хорошо, значит, у вас нет хранимых процедур или транзакций (что обеспечивает нормальную безопасность: предоставление разрешений только sprocs; никаких прямых обновлений таблиц от пользователей). поэтому у вас есть прямые гранты для пользователей. Это означает, что они могут вставлять / обновлять / удалять из любой клиентской программы, включая Excel. Поэтому вполне возможно, что в исходном коде приложения отсутствует сегмент кода, который удаляется из таблицы. Удаление строк в случайные моменты - это характер онлайновой базы данных; защита от несанкционированного удаления является требованием администратора баз данных.
Я предполагаю, что вы дали разрешения конкретным людям, а не всему миру, и вы не уверены точно, кто делает гадости. Самый простой - просто спросить группу.
Следующий простой способ - включить аудит для этой таблицы или для группы (или роли) разрешенных пользователей. Но если вы не настроили одитинг, это может стать препятствием.
В-третьих, триггер.
Существуют и другие методы, но они имеют значительные накладные расходы (22%), требуют значительных трудозатрат на внедрение, и вам придется разбираться с огромными объемами данных.
Если ваша среда настолько небезопасна и нестабильна, как кажется, и таблицу не следует удалять из нее, просто отмените разрешения для этой (одной) таблицы и подождите, пока кто-нибудь придет к вам, крича, что его разрешения изменились .
"Предполагается, что не каждый пользователь входит в систему как администратор БД или какая-либо другая [привилегированная] учетная запись."
Что, конечно, очень глупо делать, просить, умолять о катастрофе. Столь же глупо, как предоставление удалять все таблицы всем пользователям. Я вижу, откуда ты.