К сожалению нет. Необходимо провести аудит (например, с помощью триггеров DDL) фактического оператора REVOKE или DENY.
Однако, если процедура была удалена и воссоздана, изменения разрешения на аудит отсутствуют. Вы можете запросить sys.objects
, чтобы получить create_date
и modify_date
, чтобы узнать, произошло ли это.
Существуют и другие параметры, такие как удаление входа в систему, поэтому, даже если разрешения не изменились, пользователи больше не могут выполнять код. Или группа NT изменилась при использовании аутентификации Windows. Явный REVOKE / DENY или DROP / CREATE не может быть очевидным ответом.
Редактировать, основываясь на комментарии:
В вашем вопросе говорилось: "пользователи утверждают, что разрешение на выполнение было удалено ...". Помимо явных сохраненных изменений разрешений процедур, среда могла измениться. То есть, что если:
- пользователей исключили из группы
- логин был удален и воссоздан без сопоставления пользователей в базе данных
- групповая политика изменилась, так что группа NT больше не может обращаться к SQL Server (для них нужно «Разрешить вход из сети»)
Изменились ли права на сохраненный процесс или изменился способ получения пользователем хранимых процедур?