我正在使用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搜索此数据库?