Гораздо чище, чем тела процедур синтаксического анализа. ИМХО:
SELECT s.name, t.name
FROM sys.schemas AS s
INNER JOIN sys.tables AS t
ON s.[schema_id] = t.[schema_id]
WHERE NOT EXISTS
(
SELECT 1
FROM sys.sql_expression_dependencies AS d
INNER JOIN sys.procedures AS p
ON d.referencing_id = p.[object_id]
WHERE d.referenced_id = t.[object_id]
);
Обратите внимание, что это не будет захватывать хранимые процедуры, которые принимают имена таблиц в качестве параметров или строят их динамически и выполняют как динамический SQL.