特定のテーブルだけでなく、テーブル内の特定の列を使用するすべてのビューとストアドプロシージャを見つける必要があります。
次のように機能すると思われますが、この方法を使用する場合は注意が必要な警告が多数あります(さまざまな理由で信頼性が低く、すぐに非推奨になるなど)。
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_dependenciesとsys.sql_expression_dependenciesですが、どちらも列レベルの細分性を持っていません。
誰かがこれを行う方法を知っていますか?(または、それが文字通り実行できないことを明確に知っている場合でも、知っておくと役に立ちます。)
1
このヒントの例2は、列レベルの検索用です。