This article presents eleven different approaches to retrieving foreign key information in SQL Server. Some of these will be more useful than others, depending on the situation.
Some of these methods can be modified to return further information. For example, you could perform joins on various system views to return more data.