如何重置内部数据库时间戳计数器?

时间:2012-07-24 18:15:27

标签: c# sql-server database tsql timestamp

我有一个应用程序,其中有一个主(中央)数据库,然后是许多分布式客户端数据库。某些表具有时间戳列。因此,这些列将填充当前数据库时间戳(选择@@ DBTS)。但是当我重建分布式客户端数据库时,我需要将新数据库的时间戳计数器重置为比上次使用的更大的值。目前,我只是在更新中旋转,直到计数器变得大于上次使用的值。但是,我的问题是:有没有办法将数据库的内部时间戳计数器重置为另一个值?感谢

2 个答案:

答案 0 :(得分:0)

您可以使用MIN_ACTIVE_ROWVERSION()。 MIN_ACTIVE_ROWVERSION是一个非确定性函数,它返回当前数据库中最低的活动rowversion值

有关详细信息,请参阅here

答案 1 :(得分:0)

经过这么多年,@ michael-lee也许你已经解决了你的问题。但我正在搜索与您的请求相关的内容,我在这里找到了答案[ROWVERSION是TimeStamp数据类型的别名] http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=RSQL_C124042

答案是否定的: “ROWVERSION计数器无法重置。” 而且 “ROWVERSION字段值不能由用户指定;值始终从ROWVERSION计数器提供。”

也许这对其他人有用。