SQL Serverのスキーマから簡易テーブル設計書を作成するSQL

SQL Serverスキーマから簡易テーブル設計書を作成するSQLです。
Management Studioで出力対象のDBに対して下記SQLを発行してください。
あとは、クエリ結果をExcelにでもコピペして加筆、整形してください。

SELECT
    C.TABLE_NAME AS TableName,    
    C.ORDINAL_POSITION AS OrdinalPosition,
    CASE WHEN T1.COLUMN_NAME IS NULL THEN 0 ELSE 1 END AS IsPK,
    C.COLUMN_NAME AS ColumnName,
    C.DATA_TYPE AS DataType,
    CASE C.CHARACTER_MAXIMUM_LENGTH WHEN -1 THEN 'MAX' WHEN NULL THEN '' ELSE ISNULL(CONVERT(VARCHAR(10), C.CHARACTER_MAXIMUM_LENGTH), '') END AS MaximumLength,
    CASE WHEN C.IS_NULLABLE = 'NO' THEN 0 ELSE 1 END AS IsNullable,
    COLUMNPROPERTY(OBJECT_ID(QUOTENAME(C.TABLE_SCHEMA) + '.' + QUOTENAME(C.TABLE_NAME)), C.COLUMN_NAME, 'IsIdentity') AS IsIdentity,
    ISNULL(C.COLUMN_DEFAULT, '') AS ColumnDefault
FROM
    INFORMATION_SCHEMA.COLUMNS AS C
    LEFT OUTER JOIN(
        SELECT 
            K.TABLE_NAME, 
            K.COLUMN_NAME 
        FROM 
            INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS K 
            INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS T 
            ON K.TABLE_NAME = T.TABLE_NAME 
            AND K.CONSTRAINT_NAME = T.CONSTRAINT_NAME 
        WHERE 
            CONSTRAINT_TYPE = 'PRIMARY KEY'
    ) AS T1 
    ON C.TABLE_NAME = T1.TABLE_NAME
    AND C.COLUMN_NAME = T1.COLUMN_NAME
ORDER BY
    C.TABLE_NAME,
    C.ORDINAL_POSITION

(2010/04/29 修正)

もっと細かい情報を出力したい場合は上記SQLと同じような感じで、各種ビュー(下記URL参照)の情報をゴニョゴニョすれば抽出できます。
http://msdn.microsoft.com/ja-jp/library/ms186778.aspx