获取特定服务器中所有数据库中特定表中的所有行

时间:2014-01-06 09:20:06

标签: sql-server sql-server-2008

我的实时服务器中有大约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是表格列。

1 个答案:

答案 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应该存在。