Saya perlu menemukan semua tampilan & prosedur tersimpan yang mengkonsumsi tidak hanya tabel tertentu, tetapi kolom tertentu dalam tabel.
"Tampaknya" berikut ini berfungsi, tetapi ada banyak peringatan untuk berhati-hati dengan metode ini (tidak dapat diandalkan karena berbagai alasan, segera ditinggalkan, dll):
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
Beberapa pendekatan alternatif yang sering direferensikan adalah sys.sql_dependencies dan sys.sql_expression_dependencies, tetapi tidak satu pun dari ini memiliki granularity tingkat kolom.
Adakah yang tahu cara melakukan ini? (Atau bahkan jika Anda tahu secara pasti bahwa itu benar-benar tidak dapat dilakukan, akan sangat membantu untuk mengetahui.)
1
Contoh 2 dari tip ini adalah untuk pencarian level kolom.