2017-04-18 1 views
0

私の現在のアプリケーション(SQL 2008を使用)では、各テーブルでTimeStampカラムを使用しています。アプリケーションがデータの行を読み取ると、データとともにタイムスタンプ値が送信されます。変更を保存しようとすると、タイムスタンプの列を比較して、その行が読み取られてから変更されたかどうかを確認します。変更があった場合は、更新を拒否し、データを更新して再試行するように指示します。変更された内容を確認し、知らないうちに重要なものを上書きしないようにします。タイムスタンプが一致すると、更新を許可し、新しいタイムスタンプを送信します(変更を加えたい場合)。SQL2016 - Memeory最適化テーブル - 行の更新以来SELECT

SQL 2016のメモリ最適化テーブルでは、この列型はサポートされなくなりました。彼らは素晴らしいですが、レコードの作成時に "タイムスタンプ"を抽出する方法があるので、同じ方法でそれを使用することができます行のバージョン管理がありますか?代わりに使用できる新しい方法がありますか?

ご提供いただけるお役に立てれば幸いです。

答えて

0

テーブルにROWVERSION列を追加するだけでもいいですか?または、 だけが正しいフォーマットのカラムの必要性を満たす必要があり、 実際にバージョン管理する必要がない場合は、すぐにカラム を生成することができます。 TIMESTAMP(今ROWVERSIONに置き換えられているので)は VARBINARY(8)ですので、ちょうどあなたのTimestamp列をこれに変換することができます - SELECT [タイムスタンプ] = CONVERT(VARBINARY(8)、Timestamp_S) - GarethD Jul 12 '16 at 13:09

これはSQL Server 2016 timestamp data typeから取得しました。おそらくそれは役に立ちますか?

+0

問題rowversion/timestampデータ型がメモリ最適化テーブルでサポートされているとは限りません。 (タイプ 'timestamp'はメモリ最適化テーブルではサポートされていません)。 – gmbms

関連する問題