我想将版本信息添加到我们的数据库中 - 它的全部用途是检查用户读取行之后的版本是否已更改。我正在考虑为_VERSION
所涉及的二十几个表添加一个名为的列。作为批处理UPDATE
语句的一部分,我会使用类似于的内容SET ..._VERSION=something_or_other
。我不知道此列包含哪些数据。
我见过的一个解决方案是使用 datetime 列,然后从 sys.dm_tran_active_transactions 获取事务开始时间,选择 的行CURRENT_TRANSACTION_ID()
。对于我们的需求,1/300 的精度就足够了。我理解CURRENT_TIMESTAMP
在这种情况下使用不太有用,因为这会随着批处理的进行而改变。
如果这是规范的话,我会这么做。这很容易实现。
但对于真正简单的用途来说,这是最好的方法吗?是否有其他值sys.dm_tran...
可以提供相同的结果,但可能比日期时间更容易存储和定位?
注意:是的,我知道时间表和 MS 的变化跟踪,但被告知不要使用它们。