使用所有可用数据库中的表找出存储过程

时间:2012-10-26 06:16:36

标签: sql-server-2008 stored-procedures

请帮我解决这个问题。我有一个特定数据库的特定表。我想使用所有可用数据库中的表找到存储过程。

1 个答案:

答案 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的解决方案,因为它不受支持,正如他在博客中提到的那样,它可能会在重负载下错过数据库。