Мені потрібно знайти всі перегляди та збережені процедури, які споживають не просто певну таблицю, а певний стовпець у таблиці.
Наступні "начебто" спрацьовують, але є численні попередження бути обережними з цим методом (не надійний з різних причин, незабаром буде застарілий тощо):
SELECT object_name(so.id) TableName, sc.name ColumnName, OBJECT_NAME(sd.id) DependentObjectName,
(SELECT xtype FROM sysobjects so WHERE so.id = sd.id) Object_Type
FROM sysobjects so INNER JOIN syscolumns sc
ON so.id = sc.id
INNER JOIN sysdepends sd
ON so.id = sd.depid and sc.colid = sd.depnumber
WHERE
object_name(so.id) = 'MyTableName'
AND sc.name = 'MyColumnName'
order by object_name(so.id), Object_Type
Деякі альтернативні підходи, на які часто посилаються, - це sys.sql_dependitions та sys.sql_expression_dependitions, але жоден з них не має деталізації рівня стовпців.
Хтось знає спосіб цього зробити? (Або навіть якщо ви остаточно знаєте, що це буквально неможливо зробити, було б корисно знати.)
1
Приклад 2 цієї підказки призначений для пошуку на рівні стовпців.