<p>Is there a 4 byte unsigned int data type in MS SQL Server?</p>

<p>Am I forced to use a bigint?</p>

It doesn't seem so.
Here's an article describing how to create your own rules restricting an
```
int
```
to positive values.  But that doesn't grant you positive values above
```
2^31-1
```
.
http://www.julian-kuiters.id.au/article.php/sqlserver2005-unsigned-integer