在多个Dbs查询中运行脚本返回错误

时间:2015-05-14 09:51:05

标签: sql sql-server-2012

我正在使用sp_MSforeachdb存储过程运行查询。我使用了三个存在于我的服务器实例中的数据库:ExcelineDev,EXCE_NR1和EXCE_AKI。

declare @t table (dbname varchar(50),ss varchar(max),sss varchar(max))
DECLARE @command varchar(max)

SELECT @command = 'IF ''?'' IN (''ExcelineDev'',''EXCE_NR1'',''EXCE_AKI'') 
BEGIN USE ? 
EXEC
(''
select DB_NAME(DB_ID()), category,name from usrpt.report
where name like ''''%leders%''''
'')
END'

print @command
insert into @t
EXEC sp_MSforeachdb @command
select * from @t

我收到以下错误:

  

'消息911,级别16,状态1,行2数据库'Migration_Release_1'   不存在。确保正确输入名称。'

我很困惑,因为我的服务器实例中没有名为“Migration_Release_1”的数据库。为什么SQL搜索此数据库?

0 个答案:

没有答案