sys.default_constraints (Transact-SQL)

Contains a row for each object that is a default definition (created as part of a CREATE TABLE or ALTER TABLE statement instead of a CREATE DEFAULT statement), with sys.objects.type = D.

Column name

Data type


<Columns inherited from sys.objects>


For a list of columns that this view inherits, see sys.objects (Transact-SQL).



ID of the column in parent_object_id to which this default belongs.



SQL expression that defines this default.

SQL Server 2008 and SQL Server 2005 differ from SQL Server 2000 in the way they decode and store SQL expressions in the catalog metadata. The semantics of the decoded expression are equivalent to the original text; however, there are no syntactic guarantees. For example, white spaces are removed from the decoded expression.



1 = Name was generated by system.

0 = Name was supplied by the user.


In SQL Server 2005 and later versions, the visibility of the metadata in catalog views is limited to securables that a user either owns or on which the user has been granted some permission. For more information, see Metadata Visibility Configuration.


The following example returns the definition of the DEFAULT constraint that is applied to the VacationHours column of the HumanResources.Employee table.

SELECT d.definition FROM sys.default_constraints d
INNER JOIN sys.columns c
ON d.parent_column_id = c.column_id
WHERE d.parent_object_id = OBJECT_ID(N'HumanResources.Employee', N'U')
AND = 'VacationHours';