我有一个应用程序,其中有一个主(中央)数据库,然后是许多分布式客户端数据库。一些表有时间戳列。因此,这些列将填充当前数据库时间戳(选择@@DBTS)。但是当我重建一个分布式客户端数据库时,我需要将新数据库的时间戳计数器重置为大于上次使用的值。目前,我只是旋转更新,直到计数器变得大于上次使用的值。但是,我的问题是:有没有办法将数据库的内部时间戳计数器重置为另一个值?谢谢
问问题
1496 次
2 回答
0
您可以使用 MIN_ACTIVE_ROWVERSION()。MIN_ACTIVE_ROWVERSION 是一个非确定性函数,它返回当前数据库中的最低活动 rowversion 值
有关详细信息,请参见此处。
于 2012-07-24T18:58:56.937 回答
0
@michael-lee 也许你已经解决了这么多年的问题。但我正在搜索与您的请求相关的内容,我在这里找到了答案 [ROWVERSION 是时间戳数据类型的别名] http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page。 cls?KEY=RSQL_C124042
答案是否定的:“无法重置 ROWVERSION 计数器。” 而且“不能由用户指定 ROWVERSION 字段值;该值始终由 ROWVERSION 计数器提供。”
也许它对其他人有用。
于 2018-01-05T11:07:50.880 回答