从存储过程名称中查找数据库名称

时间:2014-03-27 14:16:32

标签: sql sql-server sql-server-2008

我想知道我的存储过程所在的数据库的名称。我使用下面的查询来查找它,但它没有显示我的数据库名称: -

EXEC sp_msforeachdb 
'if exists(select 1 from [?].sys.objects where name=''sp_CreateEmail'')
select ''?'' as FoundInDb from [?].sys.objects where name=''sp_CreateEmail'''

它只向我显示消息:

  

命令已成功完成。

我缺少什么?请帮忙。

2 个答案:

答案 0 :(得分:1)

我想这是因为程序sp_CreateEmail并不存在于您的数据库中。当我执行过程sp_MSrepl_startup(在我的主数据库中)的代码时,它会显示一行。

答案 1 :(得分:0)

您没有该名称的程序。

顺便说一句,使用SP _

为存储过程添加前缀不是一个好主意

http://www.sqlperformance.com/2012/10/t-sql-queries/sp_prefix