Это зависит от того, насколько гранулирован вам нужен и есть ли у вас какие-либо ограничения на максимальное время. Например, нужно ли вам знать с точностью до миллисекунды времени или достаточно 1 секунды? Другая вещь, которую нужно учитывать, это то, сколько данных вы (или можете) хранить.
Для SQL Server 2005 у вас есть следующие ограничения:
tinyint
- мин = 0
- макс = 255
- Размер = 1 байт
smallint
- мин = -2 ^ 15 (-32 768)
- макс = 2 ^ 15 - 1 (32 767)
- Размер = 2 байта
int
- мин = -2 ^ 31 (-2 147 483 648)
- max = 2 ^ 31 - 1 (2 147 483 647)
- Размер = 4 байта
bigint
- мин = -2 ^ 63
(-9.223.372.036.854.775.808)
- Макс = 2 ^ 63 - 1
(9.223.372.036.854.775.807)
- Размер = 8 байт