Về cơ bản, bạn có 2 tùy chọn:
----Lựa chọn 1
SELECT DISTINCT so.name
FROM syscomments sc
INNER JOIN sysobjects so ON sc.id=so.id
WHERE sc.TEXT LIKE '%tablename%'
----Lựa chọn 2
SELECT DISTINCT o.name, o.xtype
FROM syscomments c
INNER JOIN sysobjects o ON c.id=o.id
WHERE c.TEXT LIKE '%tablename%'
2 truy vấn này sẽ giúp bạn có tất cả các thủ tục được lưu trữ đang tham chiếu bảng mà bạn mong muốn. Truy vấn này dựa trên 2 bảng sys là sysobjects và syscomments. Các sysobject là nơi lưu trữ tất cả các tên đối tượng DB của bạn, bao gồm các thủ tục được lưu trữ.
Các syscomments chứa văn bản cho tất cả các thủ tục của bạn.
Nếu bạn truy vấn:
CHỌN * TỪ syscomments
Bạn sẽ có một bảng chứa id là ánh xạ tới bảng sysobjects với văn bản chứa trong các thủ tục được lưu trữ dưới dạng cột cuối cùng.