Here is the code:
Select 'Segment Usage'
select db_name(d.dbid) as db_name, v.name,
"Data Size," = sum(size * abs(sign(segmap - 4))) *16/1024,
"Data Used," = sum((size - curunreservedpgs(d.dbid, lstart, unreservedpgs)) * abs(sign(segmap - 4)))*16/1024 ,
convert(varchar(10),100-ceiling(100 * (1 - 1.0 * sum(case when u.segmap != 4 then curunreservedpgs(u.dbid, u.lstart, u.unreservedpgs) end) / sum(case when u.segmap != 4 then u.size end)))) as '% data spacee avail'
from master..sysdatabases d, master..sysusages u,
master..sysdevices v
where u.dbid = d.dbid and d.status != 256 and
db_name(d.dbid) not like '%model%' and
db_name(d.dbid) not like 'temp%' and
db_name(d.dbid) not like 'sybsystem%' and
upper(v.name) not like 'TAPEDUMP%' and
upper(v.name) not like '%LOG%' and
v.vdevno = u.vdevno
group by d.dbid, v.name
order by d.dbid, v.name
Results From Dev Environment:
Segment Usage
db_name name Data Size, Data Used, % data space avail
------------------------------ ------------------------------ ----------- ---------------- ------------------
master master 400 36 90
BuggsB WBA_BuggsB_Data 37000 13973 62
WillyECoyote WBA_WillyECoyote_Data 1000 157 84
Sylvester WBA_Sylvester_Data1 81000 79855 1
Sylvester WBA_Sylvester_Data2 81000 55995 30
Sylvester WBA_Sylvester_IDX_CatData 29500 11223 61
Sylvester WBA_Sylvester_IDX_CatItems 29500 9137 69
TweetyB WBA_TweetyB_Data 37000 36999 0
TweetyB WBA_TweetyB_Data2 37000 16184 56
TweetyB WBA_TweetyB_IDX_BirdTables 40000 6625 83
TweetyB WBA_TweetyB_TBL_BirdTables 10000 1505 84
UserHome WBA_UserHome_Data 348 27 91
ElmerFudd WBA_ElmerFudd_Data 10240 448 95
SybMonitor WBA_SybMonitor_Data 10000 51 99
RoosterCogburn WBA_RoosterCogburn_Data 1500 1016 32
CrunchData WBA_CrunchData_Data1 50000 31771 36