How to determine the fully qualified tablenames of aliased tables, when a specifically named column is used in a stored procedure in SQL Server? suppose StoredProcedure1 (SP1) contains the following
SELECT 
      A.COL1
     ,A.COL2
     ,B.COL2
     ,C.COL5
    FROM MYBIGTABLE A 
    INNER JOIN MYSMALLTABLE B ON A.IDCOL  = B.IDCOL
    INNER JOIN MYOTHERTABLE C ON B.ID2COL = C.IDCOL

Suppose I want to know about all such stored procedures that contain columns called COL2
I realise that I can query the stored procedure definitions in metadata tables and that will return 'SP1' as a result, but how then to return the fully qualified 'MYBIGTABLE' AND 'MYSMALLTABLE' as rows?
You have a couple of DMVs for this. My guess is that sys.dm_sql_referenced_entities can be useful:
USE Adventureworks
GO

CREATE OR ALTER PROC dbo.myProc
AS
SELECT h.AccountNumber, d.LineTotal
FROM Sales.SalesOrderDetail AS d
 INNER JOIN Sales.SalesOrderHeader AS h ON d.SalesOrderID = h.SalesOrderID  
WHERE 1 = 0
GO

SELECT * FROM sys.dm_sql_referenced_entities('dbo.myProc', 'OBJECT')

SELECT * FROM sys.dm_sql_referencing_entities('Sales.SalesOrderDetail', 'OBJECT')