Recently I’ve had to get a sense for the structure of a database in order to communicate it to a vendor. One of those vendors gave me a query that helps determine the entire structure:
SELECT
t.name AS TableName,
c.name AS ColumnName
FROM
sys.tables t
INNER JOIN
sys.columns c ON t.object_id = c.object_id
ORDER BY
t.name, c.name;
The output of this is the table name in Column A and the Field Name in Column B.