как узнать всю иерархию вызовов хранимых процедур, которая вставляет / обновляет / удаляет данные моей таблицы

#sql-server-2008 #stored-procedures

#sql-server-2008 #хранимые процедуры

Вопрос:

Я использую sql server 2008 R2, и у меня есть куча хранимых процедур (я не уверен, какая именно логика написана в каждой процедуре). Все эти процедуры прямо или косвенно взаимодействуют с данными моей таблицы.

Теперь, как я могу узнать, какая таблица внесла изменения (вставки / обновления / удаления) в мои табличные данные.

Например, хранимые процедуры следующие

   Proc1
  {
    insert into MyTable()
  }

  Proc2
  {
    update MyTable()
    Proc3()
  }

  Proc3
  {
    delete MyTable()
  }

  DoSomethingProc()
  {
    if (condition1)
      Proc1()
    else if (condition2 and condition3)
      Proc2()
  }
  

Теперь, когда вызывается DoSomethingProc, данные MyTable вставляются / обновляются / удаляются. Поэтому, когда выполняется условие1, я хочу иерархию как DoSomethingProc-> Proc1, а когда выполняются условие2 и условие3, тогда я хочу иерархию как DoSomethingProc-> Proc2-> Proc3

Может ли это быть достигнуто в sql server. Я пытался с помощью триггера, выдавая ошибку и извлекая стек ошибок, но не смог добиться успеха. Пожалуйста, помогите.