SQL Server lagrar bara tid till cirka 1/300-dels sekund. Dessa faller alltid på 0, 3 och 7 millisekunder. T.ex. räknar upp från 0 i minsta steg:
00:00:00.000
00:00:00.003
00:00:00.007
00:00:00.010
00:00:00.013
...
Om du behöver den millisekundsnoggrannheten finns det ingen trevlig väg runt det. De bästa alternativen jag har sett är att lagra värdet i anpassade nummerfält och bygga om det varje gång du hämtar värdet, eller att lagra det som en sträng i ett känt format. Du kan sedan (valfritt) lagra ett "ungefärligt" datum i den ursprungliga datumtypen för snabbhetens skull, men det introducerar en konceptuell komplexitet som ofta inte är önskvärd.