create User Defined Type with CHECK
You cannot make a check condition a part of the type definition syntactically, but you can create a rule:

CREATE RULE OrdinalTRule AS @value &gt;= 0


and bind it to the data type:

sp_bindrule OrdinalTRule, OrdinalT


In order to modify the rule later, you will have to drop and recreate it. Before being dropped, the rule must be unbound:

sp_unbindrule OrdinalT


Note that the argument in the last statement is not the rule itself but the type to which the rule is bound.