Можно ли без разбора источника выбрать список всех имен sproc, которые вставляют, обновляют или удаляют записи? Мне нужно создать служебный скрипт TSQL, который будет делать это. Эффективность не является проблемой, потому что она будет запускаться только несколько раз в год (Curse'rs, я имею в виду, с курсорами все в порядке). В идеале этот скрипт не должен включать обновления таблиц временных или локальных переменных.
Я пробовал следующий запрос, найденный на SO Вопрос .
SELECT
so.name,
so2.name,
sd.is_updated
from sysobjects so
inner join sys.sql_dependencies sd on so.id = sd.object_id
inner join sysobjects so2 on sd.referenced_major_id = so2.id
where so.xtype = 'p' -- procedure
and
is_updated = 1 -- proc updates table, or at least, I think that's what this means
Но он производит ложные негативы.