問題タブ [in-memory-oltp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
19 参照

sql - 現在のトランザクションは、このトランザクションの開始以降に更新されたレコードを更新しようとしました。トランザクションは中止されました

インメモリ OLTP であるテーブルを更新しようとしています。同じ行を並行して更新しなければならないシナリオがあります。同じレコードの同時更新中に、報告されたエラーを下回っています。これが私の更新ステートメントのサンプルです。

ウィンドウ2で同時に以下のコマンドを実行するSQLウィンドウ1で、2番目の更新コマンドを実行しています

ウィンドウ 2:

現在、報告されたエラーを下回っています。ただし、通常のテーブルでも同じことが機能し、2 番目のウィンドウは最初のウィンドウ トランザクションの完了を待機しています。メモリ最適化テーブルに対しても少なくとも同じ動作を設定するにはどうすればよいですか。

System.Data.SqlClient.SqlException (0x80131904): 現在のトランザクションは、このトランザクションの開始以降に更新されたレコードを更新しようとしました。トランザクションは中止されました。ステートメントは終了されました。
System.Data.SqlClient.SqlCommand.<>c.b__126_0 (タスク1 result) at System.Threading.Tasks.ContinuationResultTaskFromResultTask2.InnerInvoke() で System.Threading.ExecutionContext.RunInternal (ExecutionContext executionContext、ContextCallback コールバック、オブジェクト状態) で