SELECT
c.TABLE_NAME
[TableName]
,c.COLUMN_NAME [FieldName]
,c.data_type [FieldType]
,case
when c.CHARACTER_MAXIMUM_LENGTH=-1 then 'max'
else CONVERT(varchar,c.CHARACTER_MAXIMUM_LENGTH)
end [FieldSize]
FROM INFORMATION_SCHEMA.COLUMNS c
WHERE c.TABLE_SCHEMA='dbo' and c.TABLE_CATALOG=db_name()
ORDER BY 1 ,c.ORDINAL_POSITION