Se dovete generare della documentazione per un database (lista delle tabelle con relative colonne e proprietà e via dicendo), un modo gratuito e furbo per farlo è quello di utilizzare le viste INFORMATION_SCHEMA unitamente ai Reporting Services.
Per estrarre tutte le colonne di una tabella, ad esempio:
SELECT
C.TABLE_NAME,
C.COLUMN_NAME,
C.COLUMN_DEFAULT,
C.IS_NULLABLE,
C.DATA_TYPE,
C.CHARACTER_MAXIMUM_LENGTH,
C.NUMERIC_PRECISION,
C.NUMERIC_PRECISION_RADIX,
C.NUMERIC_SCALE,
C.DOMAIN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS C
INNER JOIN
INFORMATION_SCHEMA.TABLES T
ON C.TABLE_CATALOG = T.TABLE_CATALOG AND
C.TABLE_SCHEMA = T.TABLE_SCHEMA AND
C.TABLE_NAME = T.TABLE_NAME
WHERE
T.TABLE_TYPE = 'BASE TABLE' AND
T.TABLE_NAME LIKE @tableName
ORDER BY
C.TABLE_NAME, C.ORDINAL_POSITION
Il parametro @tableName viene valorizzato utilizzando una ComboBox i cui valori sono presi da questa query:
SELECT 'All' AS TABLE_NAME, '%' AS Value
UNION ALL
SELECT TABLE_NAME, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES T WHERE T.TABLE_TYPE = 'BASE TABLE'
Pratico, comodo e gratuito!
Come averete notato dalla sporadicità dei miei post questo è un periodo piuttosto denso di lavoro ed il tempo libero è poco, quindi per ora il consiglio si ferma qui...ma mi sono scritto nella mia to-do list di scrivere un articolo in proposito...spero di riuscire a farlo in tempo breve.