• Try this one instead.

    SELECT DISTINCT

    t.name AS Table_Nme,

    ept.value AS Table_Desc,

    c.name AS Column_Nme,

    st.name + '(' + CASE WHEN c.max_length = - 1 THEN 'max' ELSE CAST(c.max_length AS varchar(100)) END + ')' AS Column_Data_Type,

    c.column_id,

    CASE WHEN c.is_nullable = 0 THEN 'False' ELSE 'True' END AS Null_Allowed_Ind,

    epc.value AS Column_Desc,

    CASE WHEN dc.definition LIKE '(getdate())' THEN 'Current Date' ELSE dc.definition END AS Column_Default_Value,

    CASE WHEN (SELECT COUNT(*) FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE a INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS b ON a.TABLE_NAME = b.TABLE_NAME AND b.constraint_type = 'PRIMARY KEY' AND a.TABLE_NAME = t.name AND a.COLUMN_NAME = c.name) = 1 THEN 'Yes' ELSE 'No' END AS Primary_Key_Ind,

    CASE WHEN t .object_id = fk.parent_object_id AND

    c.column_id = fk.parent_column_id THEN 'Yes' ELSE '' END AS Foriegn_Key_Ind,

    CASE WHEN c.is_identity = 1 THEN 'Yes' ELSE '' END AS Identity_Column_Ind,

    ft.name AS Foreign_Table,

    (SELECT TOP 1 a.constraint_name

    FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE a INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS b ON a.TABLE_NAME = b.TABLE_NAME

    AND b.constraint_type = 'PRIMARY KEY'

    AND a.COLUMN_NAME = c.NAME

    AND a.TABLE_NAME = object_name(c.object_id) AND a.ordinal_position = c.column_id) AS Primary_Key_Name,

    object_name(fk.constraint_object_id) AS Foreign_Key_Name

    FROM sys.columns AS c INNER JOIN

    sys.systypes AS st ON st.xtype = c.user_type_id LEFT OUTER JOIN

    sys.extended_properties AS epc ON epc.major_id = c.object_id AND epc.minor_id = c.column_id LEFT OUTER JOIN

    sys.default_constraints AS dc ON dc.parent_column_id = c.column_id AND dc.parent_object_id = c.object_id INNER JOIN

    sys.tables AS t ON c.object_id = t.object_id LEFT OUTER JOIN

    sys.extended_properties AS ept ON ept.major_id = t.object_id AND ept.minor_id = t.parent_object_id LEFT OUTER JOIN

    sys.key_constraints AS pk ON t.object_id = pk.parent_object_id LEFT OUTER JOIN

    sys.foreign_key_columns AS fk ON fk.parent_object_id = c.object_id AND fk.parent_column_id = c.column_id LEFT OUTER JOIN

    sys.tables AS ft ON fk.referenced_object_id = ft.object_id

    WHERE (t.name NOT IN ('sysdiagrams', 'DataDictionary')) AND (st.name NOT LIKE '%sysname%')

    AND (select count(*) from sys.key_constraints where type_desc = 'PRIMARY_KEY_CONSTRAINT' and parent_object_id = t.object_id) = 1

    ORDER BY Table_Nme, c.column_id;

    Cheers