-- compliments from SQLUSA
1: USE AdventureWorks2008;
2: DECLARE @SchemaName sysname = N'Production';
3: DECLARE @TableName sysname = N'Product';
4: DECLARE @ColumnName sysname = N'ProductID';
5: SELECT QUOTENAME(refing.referencing_schema_name) +
6: N'.' + QUOTENAME(refing.referencing_entity_name) As SprocName
7: FROM sys.dm_sql_referencing_entities(QUOTENAME(ISNULL(@SchemaName,N'dbo')) +
8: N'.' + QUOTENAME(@TableName),'object') refing
9: CROSS APPLY sys.dm_sql_referenced_entities(QUOTENAME(refing.referencing_schema_name) +
10: N'.' + QUOTENAME(refing.referencing_entity_name), 'object') refed
11: WHERE EXISTS(SELECT * FROM sys.objects
12: WHERE refing.referencing_id = object_id and type ='P')
13: AND refed.referenced_schema_name = @SchemaName
14: AND refed.referenced_entity_name = @TableName
15: AND refed.referenced_minor_name = @ColumnName
16: ORDER BY SprocName;
17: