We covered this in detail in a previous post, What about
TIMESTAMP? It’s better to pretend that this data type doesn’t exist.
It is not what you think it is.
TIMESTAMPis actually a row version value based on the amount of time since SQL Server was started. If you need to record an actual date and time, use
When should we?
I appreciate that Randolph includes a “when should you not listen to my overall pronouncement?” bit, as there are commonly exceptions to “do not do X” style rules.