select C.name,T.name,primarykey = case (select is_primary_key from sys.indexes IDX where IDX.object_id=IDXC.object_id and c.column_id=IDXC.column_id ) when 1 then 1 else 0 end from sys.columns C --有关列信息表
INNER JOIN sys.objects O --表的信息表
on O.object_id=C.object_id INNER JOIN sys.types T --数据类型
on C.system_type_id=T.system_type_id left JOIN sys.index_columns IDXC--主键信息
on C.object_id=IDXC.object_id
where O.name=N'表名'