通常、バージョンデータを公開するには、rowversion
型の列を追加する必要がありますが、この操作は大きなテーブルではかなりの時間がかかります。とにかく私はdevのサンドボックス環境でやっていましたが、実際にはしばらくかかりましたが、コラムには意味のある初期値が設定されていました。私はすべての行が何らかの「初期」状態になっていることを示すために0または1であることを期待していましたが(結局のところ、前に履歴はありませんでしたが)、各行の正確な値すべてデフォルト値ではない)。列を追加しないSQL Serverのrowversion
彼らはどこから来ましたか?とにかく、あなたが列にそれを公開しているかどうかに関わらず、rowversion
が舞台裏で追跡されているようです。もしそうなら、列を追加せずに直接取得することはできますか?私が直接呼び出すことができるシステム機能のようなものでしょうか?私は本当にダウンタイムを避けたいと思っています。また、膨大な数の既存のクエリがあるので、別のテーブル/ビュー/コンボへの移行はオプションではありません。
しかし、私は既存のテーブルに列を追加したときに一見 "正しい"値で列を初期化することができましたか?列が存在する前であっても 'rowversion'が生成され、追跡されているようです。そうでなければ、新しい列のデフォルト値としてどのようなことを知ることができますか? – gzak
@gzak - 'SELECT CAST(@ DBTS AS bigint)'は、このグローバルデータベースカウンタの現在の値を返します。新しい 'rowversion'カラムを追加すると、そこからインクリメントしていく値が入力されます。 –