I am going to archive to get a query that retrieves some data from all databases and returns one result set.
Now I have the following:
DECLARE @command varchar(4000) SELECT @command = ' USE [?] SELECT database_name = DB_NAME(database_id) , log_size_mb = CAST(SUM(CASE WHEN type_desc = "LOG" THEN size END) * 8. / 1024 AS DECIMAL(8,2)) , row_size_mb = CAST(SUM(CASE WHEN type_desc = "ROWS" THEN size END) * 8. / 1024 AS DECIMAL(8,2)) , total_size_mb = CAST(SUM(size) * 8. / 1024 AS DECIMAL(8,2)) , Kostenstelle = (select value from sys.extended_properties WHERE name = "Kostenstelle") FROM sys.master_files WITH(NOWAIT) WHERE database_id = DB_ID() GROUP BY database_id ' EXEC sp_MSforeachdb @command
The code above will return to multiple result sets.
The result should look like this:
|database_name|log_size_mb|row_size_mb|Kostenstelle| +-------------+-----------+-----------+------------+ |demoA | 12| 10| xxxx| |demoB | 52| 12| xxxx|
source share