Если меня не волнует менее секунды, какой должен быть рекомендуемый тип для хранения моих значений datetime в sql-server 2005, это datetime или smalldatetime или еще?
smalldatetime имеет разрешение до одной минуты, поэтому, если для вас это разрешение подходит, то smalldatetime на 50% меньше (4 байта против 8 байтов), поэтому предпочтительнее.
См. http://karaszi.com/the-ultimate-guide-to-the-datetime-datatypes для хорошего обзора.
Если вы не уверены, используйте datetime - все остальное - преждевременная оптимизация. Вы можете передумать о необходимости секунд в будущем.
Если вас не интересуют секунды, даты раньше, чем 1900 или позже, чем 2079, smalldatetime будет в порядке :) В противном случае вам лучше с датой и временем.
http://msdn.microsoft.com/en-us/library/aa258277(SQL.80).aspx