• i've tended to use oracle-like names for views that have been quite useful. i use a few variations on this but datatype, length and columnorder are useful when it comes to reproducing the formats of adhoc queries

    /****** Object: View dbo.all_columns Script Date: 12/11/2001 3:47:11 PM ******/

    CREATE view ColumnDesc as

    select syscolumns.name columnname,sysobjects.name tablename,sysobjects.id tableid,

    systypes.name datatype, syscolumns.length length,syscolumns.colorder columnorder,syscolumns.isnullable isnullable, syscolumns.autoval autoval

    ,sysproperties.[value] [Description]

    from sysobjects,syscolumns,systypes,sysproperties

    where sysobjects.xtype='U'

    and sysobjects.id=syscolumns.id

    and sysobjects.id=sysproperties.id

    and syscolumns.id=sysproperties.id

    and syscolumns.xtype=systypes.xtype

    and sysproperties.type=4

    and sysproperties.smallid=syscolumns.colid