• >>wouldn't it be helpful

    It takes a few minutes to write exactly the helpful query you need on tables and indexes, no need to wish

    Use this query to identify which columns in a table must have values supplied, and the dataypes of those columns,

    also to see the defaults that will be supplied for columns when you rely on default value.

    declare @tblname sysname

    set @tblname =

    'user‘

    print @tblname

    select left(sc.name,30) as columnName

    -- + ','

    , left(st.name,10) as datatype

    , sc.max_length

    , sc.is_identity

    , sc.is_computed

    , sc.is_nullable

    , case when sdc.name is null then 0 else 1 end as has_default

    , cast(left(isnull(sdc.definition,''),12) as varchar(12)) as defaultValue

    ,cast(sc.is_identity as int)+cast(sc.is_computed as int) + cast(sc.is_nullable as int) +

    case when sdc.name is null then 0 else 1 end

    as valueIsSupplied

    from sys.columns sc

    join sys.types st

    on st.user_type_id = sc.user_type_id

    left join sys.default_constraints sdc

    on sc.object_id = sdc.parent_object_id

    and sc.column_id = sdc.parent_column_id

    where sc.object_id in (select object_id from sys.objects where type = 'u' and name = @tblname)

    order by valueIsSupplied

    , sc.column_id

    _________________
    "Look, those sheep have been shorn."
    data analyst replies, "On the sides that we can see.."