• Quick suggestion

    😎

    SELECT

    SAC.object_id

    ,SAC.name

    ,SAC.column_id

    ,SAC.system_type_id

    ,SAC.user_type_id

    ,SAC.max_length

    ,SAC.precision

    ,SAC.scale

    ,SAC.collation_name

    ,SAC.is_nullable

    ,SAC.is_ansi_padded

    ,SAC.is_rowguidcol

    ,SAC.is_identity

    ,SAC.is_computed

    ,SAC.is_filestream

    ,SAC.is_replicated

    ,SAC.is_non_sql_subscribed

    ,SAC.is_merge_published

    ,SAC.is_dts_replicated

    ,SAC.is_xml_document

    ,SAC.xml_collection_id

    ,SAC.default_object_id

    ,SAC.rule_object_id

    ,SAC.is_sparse

    ,SAC.is_column_set

    FROM sys.all_columns SAC

    WHERE SAC.object_id = OBJECT_ID('TableName')

    To compare the values you can concatenate the column values and use the hashbyte to generate a checksum

    SELECT

    ST.ID_KEY

    ,HASHBYTES('SHA1',ST.ColSet.value('.','nvarchar(max)')) AS SHA1_VAL

    ,ROW_NUMBER() OVER

    (

    PARTITION BY HASHBYTES('SHA1',ST.ColSet.value('.','nvarchar(max)'))

    ORDER BY ST.ID_KEY

    ) AS DUPE_RID

    FROM dbo.SomeTable ST