Debe usar el sys
actual vistas de catálogo (si está en SQL Server 2005 o más reciente:los sysobjects
las vistas están en desuso y debe evitarse):consulte la extensa documentación de MSDN SQL Server Books Online sobre vistas de catálogo aquí.
Hay bastantes vistas que podrían interesarle:
sys.default_constraints
para restricciones predeterminadas en columnassys.check_constraints
para verificar restricciones en columnassys.key_constraints
para restricciones clave (por ejemplo, claves principales)sys.foreign_keys
para relaciones de clave externa
y mucho mucho más - ¡Compruébalo!
Puede consultar y unirse a esas vistas para obtener la información necesaria, p. esto enumerará las tablas, columnas y todas las restricciones predeterminadas definidas en ellas:
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