Мне было интересно, если это возможно, чтобы включить триггер только для моего текущего приложения, а не для любого sql, выполняемого по таблице.
Ситуация:
В одной базе данных работают два приложения. App1 и App2.
У меня есть триггер на «MyTable», который должен быть запущен только когда App1 выполняет запрос, но не когда App2 делает это.
sql-server
sql-server-2008-r2
Patric
источник
источник
APP_NAME()
, вы также можете использоватьSET CONTEXT_INFO
.SET CONTEXT_INFO
обычно используется для отправки информации на триггеры, подобные этому.Ответы:
Хотя не очень хороший дизайн, это выполнимо. Вам нужно будет поместить логику в триггер, чтобы он выполнялся только тогда, когда подключено правильное приложение.
источник
app_name()
очень легко подделать через свойства строки подключения.