I have used timestamp columns as a routine for many years. Another option is a version string, but then you need to update it, etc. I have never had a timestamp problem. One word of caution - if you ever select temp-table / table-var for processing, you need to use varbinary(8) , not timestamp , in the temp table, otherwise your temporary table will get its own unique timestamps after update; -p
As you acknowledge, timestamp only helps with concurrency. Despite the name, it has nothing to do with the time, so it will not help with the audit.
It is well supported in MS db clauses (LINQ-to-SQL / EF / etc)
source share