According to the sysobjects documentation, sysobjects.xtype
can be one of these object types:
| xtype |
There is this
SELECT name
FROM master..spt_values
WHERE type = 'O9T'
Output
AF: aggregate function
AP: application
C : check cns
D : default (maybe cns)
EN: event notification
F : foreign key cns
FN: scalar function
FS: assembly scalar function
FT: assembly table function
IF: inline function
IS: inline scalar function
IT: internal table
L : log
P : stored procedure
PC : assembly stored procedure
PK: primary key cns
R : rule
RF: replication filter proc
S : system table
SN: synonym
SQ: queue
TA: assembly trigger
TF: table function
TR: trigger
U : user table
UQ: unique key cns
V : view
X : extended stored proc
sysobjects.type, reports
Here is what I came up with to get total of database objects and its description.
select xtype1, Description, total_count, last_crdate, last_refdate
from
(SELECT xtype as xtype1, total_count = COUNT(*), last_crdate = MAX(crdate), last_refdate = MAX(refdate)
FROM sysobjects
GROUP BY xtype
)o
left outer join
(SELECT LEFT(name,PATINDEX('%:%',name)-1) AS xtype2, RIGHT(name, (LEN(name) - PATINDEX('%:%',name))) AS Description
FROM master..spt_values
WHERE type = 'O9T' AND number = -1
)x
on o.xtype1 = x.xtype2
order by Description;