Ответ 1
SELECT APP_NAME()
Мы пытаемся определить источник неожиданных обновлений, происходящих в таблице SQL Server. То, что я хотел бы сделать, это создать триггер в этой таблице, который отслеживает этот столбец, который нам интересен, и когда происходят обновления, напишите некоторую информацию аудита в отдельную таблицу.
Работает отлично и отлично для таких вещей, как имя пользователя, дата, старые и новые значения столбцов (из таблиц триггеров Inserted
и Deleted
), но я хотел бы больше: -)
В SQL Profiler вы можете увидеть имя приложения, подключенного к SQL Server, в профилях - часть, которая может быть определена в строке соединения как Application Name
:
Data Source=(local);Initial Catalog=AdventureWorks;
Integrated Security=True;Application Name="My Application"
Есть ли какой-либо путь в триггере T-SQL FOR UPDATE
для получения этой информации?
SELECT APP_NAME()
Не уверен, но можете ли вы зарегистрировать имя сервера, если приложения находятся на нескольких серверах? Это может помочь сузить список приложений.
Marc_S хранимая процедура sP_whoIsActive, вероятно, решит ваши проблемы как указано здесь
и это потрясающая часть T-SQL, кстати,