You can do this with one constraint, something like:
check password like '%[0-9]%' and password like '%[A-Z]%' and password like '%[!@#$%a^&*()-_+=.,;:'"`~]%' and len(password) >= 8
Just a note about the upper case comparison: this requires that the collation being used be case sensitive. You may need to specify an explicit COLLATE
in the comparison to be sure that it is case sensitive.