USE [Database]是否存在BUG呢??
--本人想达到的最终目的是获取当前实例上的所有数据库的可用空间,数据库大小已通过SP_HELPDB获取出来了。
--想了各种办法都一直达不到我想要的结果,原因是MSSQL在循环时use [database]不能实际生效。如:
exec sp_MSforeachdb 'select count(1) from sys.sysobjects'
Declare @sql varchar(500)
Declare @name varchar(32)
Declare DB cursor For
select name from sys.databases where state_desc='ONLINE'
open DB
fetch next From DB into @name
WHILE (@@FETCH_STATUS=0)
BEGIN
set @sql='use '+@name
exec (@sql)
print (@sql)
select COUNT(1) from sys.sysobjects
fetch next From DB into @name
END
CLOSE DB;
DEALLOCATE DB;