SELECT [Count] = COUNT(*), [Type] = CASE type
WHEN 'AF' THEN 'AGGREGATE_FUNCTION'
WHEN 'C' THEN 'CHECK_CONSTRAINT'
WHEN 'D' THEN 'DEFAULT_CONSTRAINT'
WHEN 'F' THEN 'FOREIGN_KEY_CONSTRAINT'
WHEN 'FN' THEN 'SQL_SCALAR_FUNCTION'
WHEN 'FS' THEN 'CLR_SCALAR_FUNCTION'
WHEN 'FT' THEN 'CLR_TABLE_VALUED_FUNCTION'
WHEN 'IF' THEN 'SQL_TABLE_VALUED_FUNCTION'
WHEN 'IT' THEN 'INTERNAL_TABLE'
WHEN 'K' THEN 'PRIMARY_KEY'
WHEN 'P' THEN 'SQL_STORED_PROCEDURE'
WHEN 'PC' THEN 'CLR_STORED_PROCEDURE'
WHEN 'PG' THEN 'PLAN_GUIDE'
WHEN 'PK' THEN 'PRIMARY_KEY_CONSTRAINT'
WHEN 'R' THEN 'RULE'
WHEN 'RF' THEN 'REPLICATION_FILTER_PROCEDURE'
WHEN 'S' THEN 'SYSTEM_TABLE'
WHEN 'SN' THEN 'SYNONYM'
WHEN 'SO' THEN 'SEQUENCE_OBJECT'
WHEN 'SQ' THEN 'SERVICE_QUEUE'
WHEN 'TA' THEN 'CLR_TRIGGER'
WHEN 'TF' THEN 'SQL_INLINE_TABLE_VALUED_FUNCTION'
WHEN 'TR' THEN 'SQL_TRIGGER'
WHEN 'TT' THEN 'TABLE_TYPE'
WHEN 'U' THEN 'USER_TABLE'
WHEN 'UQ' THEN 'UNIQUE_CONSTRAINT'
WHEN 'V' THEN 'VIEW'
WHEN 'X' THEN 'EXTENDED_STORED_PROCEDURE'
ELSE sysobjects.type
END ,[Date]=CONVERT(nvarchar, GETDATE(), 101)
FROM sysobjects
GROUP BY sysobjects.type
HAVING sysobjects.type NOT IN ('S','IT','SQ')
ORDER BY [Type]