Powinieneś użyć obecnego sys
widoki katalogu (jeśli korzystasz z SQL Server 2005 lub nowsze - sysobjects
widoki są przestarzałe i należy tego unikać) — zapoznaj się z obszerną dokumentacją MSDN SQL Server Books Online dotyczącą widoków katalogu tutaj.
Istnieje kilka widoków, które mogą Cię zainteresować:
sys.default_constraints
dla domyślnych ograniczeń dla kolumnsys.check_constraints
do sprawdzania ograniczeń na kolumnachsys.key_constraints
dla kluczowych ograniczeń (np. kluczy podstawowych)sys.foreign_keys
dla relacji klucza obcego
i dużo więcej - sprawdź to!
Możesz zapytać i dołączyć do tych widoków, aby uzyskać potrzebne informacje - np. to wyświetli listę tabel, kolumn i wszystkich zdefiniowanych w nich domyślnych ograniczeń:
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