我的实时服务器中有大约700个数据库。所有这些数据库都有一个名为LogTbl
的表。我需要在这个表中列出所有700个数据库的所有行。
到目前为止,我已经尝试了
Declare @ServerName nvarchar(500), @dbName nvarchar(500), @key int, @msg_id int, @text nvarchar(max), @source nvarchar(max), @logdate datetime
SELECT name FROM sys.databases FOR XML AUTO
select * from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'logtbl'
然后我不知道。我需要使用以下字段返回1个结果集
Servername, database, key, msg_id, text, source, logdate
其中key, msg_id, text, source, logdate
是表格列。
答案 0 :(得分:0)
类似的东西:
create table #tbl (table_name varchar(500))
exec sp_msforeachdb 'insert into #tbl select table_name from [?].information_schema.tables'
select * from #tbl
注意系统数据库的sp_msforeachdb。 您可以想象在sp_msforeachdb内部创建一个if子句,其中table_name logtbl应该存在。