请帮我解决这个问题。我有一个特定数据库的特定表。我想使用所有可用数据库中的表找到存储过程。
答案 0 :(得分:2)
为此,我会使用Aaron Bertrand's improved sp_msforeachdb
EXECUTE sp_foreachdb
@command = N'SELECT *
FROM ?.sys.sql_modules AS sm
WHERE sm.Definition LIKE ''%dbo.YourTable%'''
, @user_only = 1
@command
是必需的,但我添加了@user_only
以表明您可以跳过系统数据库。如果您确实要检查它们,请删除此参数。
我推荐Aaron对sp_msforeachdb
的解决方案,因为它不受支持,正如他在博客中提到的那样,它可能会在重负载下错过数据库。