Dovresti usare l'attuale sys
visualizzazioni del catalogo (se utilizzi SQL Server 2005 o più recente - il sysobjects
le visualizzazioni sono obsolete e dovrebbe essere evitato) - controlla l'ampia documentazione in linea di MSDN SQL Server sulle visualizzazioni del catalogo qui.
Ci sono alcune visualizzazioni che potrebbero interessarti:
sys.default_constraints
per i vincoli predefiniti sulle colonnesys.check_constraints
per controllare i vincoli sulle colonnesys.key_constraints
per i vincoli chiave (ad es. chiavi primarie)sys.foreign_keys
per le relazioni in chiave estera
e molto molto altro - dai un'occhiata!
Puoi interrogare e unirti a tali visualizzazioni per ottenere le informazioni necessarie, ad es. questo elencherà le tabelle, le colonne e tutti i vincoli predefiniti definiti su di esse:
SELECT
TableName = t.Name,
ColumnName = c.Name,
dc.Name,
dc.definition
FROM sys.tables t
INNER JOIN sys.default_constraints dc ON t.object_id = dc.parent_object_id
INNER JOIN sys.columns c ON dc.parent_object_id = c.object_id AND c.column_id = dc.parent_column_id
ORDER BY t.Name