Hola goodk,
debajo está una nueva pregunta.
seleccionar el object_name (col.object_id) como [la tabla],
col_name (col.object_id, col.column_id) como [columna],
typ.name como [column_type],
caso cuando ind.is_primary_key = 1 e ind_col.index_id no es nulo entonces “sí”
“no”
extremo como [is_primary_key],
isnull (object_name (fk.referenced_object_id), '') como [tabla referida],
isnull (col_name (fk.referenced_object_id, fk.referenced_column_id), '') como [llave extranjera]
de la columna de sys.columns ensamblar el obj de sys.objects en obj.object_id = col.object_id
ensamblar el typ de sys.types en col.user_type_id = typ.user_type_id
la izquierda ensambla sys.indexes ind en obj.object_id = ind.object_id
y col.object_id = ind.object_id
la izquierda ensambla ind_col de sys.index_columns en obj.object_id = ind_col.object_id
e ind.object_id = ind_col.object_id
y col.column_id = ind_col.column_id
e ind.index_id = ind_col.index_id
la izquierda ensambla sys.foreign_key_columns FK en col.object_id = fk.parent_object_id
y col.column_id = fk.parent_column_id
donde obj.type = “U” -- enumerar solamente las tablas de usuario