Поскольку мы не реализуем пользователей наших приложений как пользователей на SQL-сервере, когда сервер приложений подключается к базе данных, каждое приложение всегда использует те же учетные данные для присоединения к каждой базе данных.
Это представляет проблему аудита. Используя триггеры, мы хотим хранить каждое обновление, вставлять и удалять и связывать их с конкретным пользователем. Одним из возможных решений является добавление столбца "обновлено пользователем" в каждую таблицу и каждый раз обновлять его. Это означает новый столбец для каждой таблицы и новый параметр для каждой хранимой процедуры. Это также означает, что вы можете выполнять только мягкие удаления.
Вместо этого я предлагаю использовать свойство Application Name строки подключения и читать это с помощью свойства App_Name() внутри триггера. Я тестировал это с помощью простого приложения и, похоже, работал (формат может быть таким: App = MyApp | User = 100).
Вопрос для вас, ребята, это плохая идея, и у вас есть лучший?