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

Есть ли способ узнать, какие хранимые процедуры создают запись в таблице.Скажем, например:

Сохраненная процедура A вставляет в таблицу A
Сохраненная процедура B Вставляет в таблицу A
Сохраненная процедура C Вставляет в таблицу B

Я хочу запрос для возврата имени хранимой процедуры A и хранимой процедуры B.

Я получил это прямо сейчас, но все, что он делает, это находит хранимые процедуры. Я думаю, что это будет хорошей отправной точкой для поиска хранимых процедур.


select schema_name(schema_id) as [schema], 
       name
from sys.procedures
where name like '%Item%' and name like '%Create%'

Я использую Microsoft SQL 2008

10
задан Martin Smith 15 October 2017 в 16:04
поделиться

1 ответ

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

GRANT VIEW SERVER STATE TO databaseuser

Select top 10 dest.objectid,  DB_Name(dest.[dbid]) As 'databaseName'
, Object_Name(dest.objectid, dest.[dbid]) As 'procName'
, Max(deqs.last_execution_time) As 'last_execution'
From sys.dm_exec_query_stats As deqs
Cross Apply sys.dm_exec_sql_text(deqs.sql_handle) As dest
Join sys.sql_dependencies as sqldep on sqldep.object_id = dest.objectid
Where dest.[text] Like '%CashProduct%' -- replace
And dest.[dbid] Is Not Null  -- exclude ad-hocs
And DB_Name(dest.[dbid]) = 'DatabaNameDu'
And sqldep.is_updated = 1
Group By db_name(dest.[dbid])
, Object_Name(dest.objectid, dest.[dbid]),
dest.objectid
Order By 
Max(deqs.last_execution_time) desc
Option (MaxDop 1);
0
ответ дан 3 December 2019 в 17:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: