Assuming all the databases and tables are in place, Can someone tell me why this script is not producing any data. It only shows columns, but not data. If I run this script outside of the CURSOR is runs and produces data. I am trying to run the script on all of the user databases on the instance, but again, it does not produce any data when run within the cursor. It shows for every database (0 row(s) affected)
DECLARE @DBNameVar NVARCHAR(300) DECLARE @Statement NVARCHAR(1000)
Declare GetDatabaseSize CURSOR FOR
SELECT name FROM MASTER.dbo.sysdatabases
WHERE name NOT IN ('master','model','msdb','tempdb')
OPEN GetDatabaseSize
FETCH NEXT FROM GetDatabaseSize INTO @DBNameVar
WHILE @@FETCH_STATUS = 0
BEGIN
Set @statement = 'USE ' + @DBNameVAR
Exec sp_executesql @statement
Select cast(round(sum(cast(ImportSize AS Numeric(15,4))/1024/1024/1024),2) as decimal(10,2))
as SourceSize, ImportID,
cast(round(sum(cast(TotalSize AS Numeric(15,4))/1024/1024/1024),2) as decimal(10,2))
as ExpandedSize, DateAdded
From Dataimports Group By ImportID, DateAdded
FETCH NEXT FrOM GetDatabaseSize INTO @DBNameVar
END
CLOSE GetDatabaseSize
DEALLOCATE GetDatabaseSize