28 Jan 2014

Get Table Metadata in SQL Server 2008

SELECT c.name AS [Column Name]
       ,type_name(c.xusertype) [Data Type]
       ,c.length [Length]
       ,cd.value AS [Column Desc.]
FROM   sysobjects t
       INNER JOIN syscolumns c ON c.id = t.id
       LEFT OUTER JOIN sys.extended_properties cd ON cd.major_id = c.id
                                                     AND cd.minor_id = c.colid
                                                     AND cd.name = 'MS_Description'
WHERE  t.type = 'u'
       AND t.name = 'tablename'
ORDER  BY t.name
          ,c.colorder