Вот пример, основанный на системных таблицах из SQL 2005 (99% уверены, что он будет работать в 2008 году). Это перечислит все PK для всех пользовательских таблиц, со всеми столбцами и некоторыми дополнительными пухами, которые могут быть удалены. Добавьте параметры, чтобы выбрать таблицу за раз.
SELECT
schema_name(ta.schema_id) SchemaName
,ta.name TableName
,ind.name
,indcol.key_ordinal Ord
,col.name ColumnName
,ind.type_desc
,ind.fill_factor
from sys.tables ta
inner join sys.indexes ind
on ind.object_id = ta.object_id
inner join sys.index_columns indcol
on indcol.object_id = ta.object_id
and indcol.index_id = ind.index_id
inner join sys.columns col
on col.object_id = ta.object_id
and col.column_id = indcol.column_id
where ind.is_primary_key = 1
order by
ta.name
,indcol.key_ordinal