2012-07-24 76 views
1

我有一個應用程序,其中有一個主(中央)數據庫,然後是多個分佈式客戶端數據庫。一些表格有時間戳列。因此,這些列將填充當前數據庫時間戳(select @@ DBTS)。但是,當我重建分佈式客戶端數據庫時,我需要將新數據庫的時間戳記計數器重置爲比上次使用的時間戳更大的值。目前,我只是旋轉更新,直到計數器變得大於上次使用的值。但是,我的問題是:有沒有辦法將數據庫的內部時間戳記計數器重置爲另一個值?謝謝如何重置內部數據庫時間戳記計數器?

回答

0

您可以使用MIN_ACTIVE_ROWVERSION()。 MIN_ACTIVE_ROWVERSION是一個非確定性函數,返回當前數據庫中最低的活動rowversion值

有關詳細信息,請參閱here

+1

嗯...我不想檢索使用的(最小)活動時間戳值...我需要將數據庫的內部時間戳記計數器更改爲我想要的值。因爲當我創建一個新的數據庫時,內部時間戳值會很小...然後我從中央數據庫加載我的數據...然後我需要旋轉更新,直到內部時間戳記計數器變得大於一個值我已經使用過......我只是想告訴數據庫將它的內部時間戳記更新爲x值,而不是在更新中增加時間戳記計數器。 – 2012-07-24 19:09:23

0

@ michael-lee可能你已經解決了你的問題,經過這麼多年。但是我正在尋找與您的要求的東西,我已經在這裏找到答案[ROWVERSION是TIMESTAMP數據類型的別名] http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=RSQL_C124042

答案是NO: 「的ROWVERSION計數器不能復位。」 以及 「ROWVERSION字段值不能由用戶指定;該值始終由ROWVERSION計數器提供。」

也許這對其他人有用。