Удаление временной таблицы SQL Server — отслеживание при использовании учетной записи службы

#sql-server

#sql-сервер

Вопрос:

У меня есть общая учетная запись службы, которая используется веб-приложением для вызова хранимой процедуры для удаления записей во временной таблице, которая у меня есть. Хранимая процедура получает идентификатор веб-пользователя (который я хочу отслеживать).

Для обновлений и вставок это просто — вставьте / обновите и убедитесь, что поле userId заполнено идентификатором пользователя веб-приложения.

Я застрял на удалениях — единственный механизм, который я могу придумать, — это обновить поле userId с идентификатором веб-пользователя, а затем выполнить удаление. Очевидно, что это на один шаг больше, чем я хочу, но это также приводит к дополнительной записи в таблице истории, которая мне не нужна.

Существует ли наилучшая практика для решения этой проблемы?… или у меня уже есть наилучшее доступное решение здесь?

Комментарии:

1. Временные таблицы не являются таблицами аудита. Они могут использоваться как часть аудита, но сами по себе недостаточны. Похоже, что у вас есть UserID столбец в таблице, который логически вообще не нужен, за исключением записи пользователя, выполнившего определенное действие — которое, собственно, является частью только записи аудита.

2. Я это понимаю. Я ищу рекомендации по отслеживанию идентификаторов пользователей для удалений во временной таблице, поступающих через учетную запись службы.

3. Просто перечитайте ваш комментарий — подразумевается ли, что правильный способ структурировать это для начала — иметь третью таблицу для отслеживания аудита?