Как получить SQL запросы, когда триггер был запущен, до п уровней? - PullRequest
4 голосов
/ 11 октября 2010

Я хочу перечислить запросы, выполненные до того, как 'AFTER UPDATE TRIGGER' сработал до n уровней.Перечисление будет сделано в самом TRIGGER. n может быть 4 или меньше.

Любой указатель или если перечисление может быть выполнено любым другим способом, будет полезно?

Я должен отладить интерфейси back-end, если есть ошибка.

- Правка -

Фактически ячейка обновляется каждый раз как пустая.Я должен выследить это.Это случается очень редко.

- Редактировать -

Или сказать, как получить последние n запросов, выполненных пользователем.

- Редактировать - я сделал какследует:

SELECT top(15) dest.text AS [Query]
        FROM sys.dm_exec_query_stats AS deqs
        CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
          --inner join  sys.sysprocesses
          -- on sys.sysprocesses.sql_handle=deqs.sql_handle
        ORDER BY deqs.last_execution_time DESC

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

Здесь есть вопрос о подключении Триггер с запуском в ячейку SQL (Это поток, который появляется до того, как проблема опубликована как '.. запущена, до n уровней? ')

1 Ответ

2 голосов
/ 30 июля 2011

Если вы используете SQL Server 2008, вы можете использовать расширенные события для получения всего стека вызовов TSQL.См. мой ответ здесь , например, код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...