問題タブ [transaction-isolation]

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 投票する
1 に答える
1280 参照

spring - カスタム分離レベル用に eclipselink jpa 方言を構成する方法

Spring 3.2.1 と EclipseLink 2.4 と JPA 2.0 を使用しています

デフォルトの分離レベル以外を使用すると、エラーが発生します。

EclipseLinkJpaDialect はクラスを拡張する必要がありますか?

どのように?

0 投票する
1 に答える
678 参照

c# - SQL 接続分離レベルの保持

私は2つの部分からなる小さなアプリケーションを持っています:

  1. データベースに接続して構成データを取得する構成部分。
  2. 構成を使用してデータをデータベースにインポートする Data Importer パーツ。

Data Importer は、トランザクションを使用して複数のスレッドで実行されています。IsolationLevel.Snapshot

設定 SQL コマンドはトランザクションを使用しません。

構成ウィンドウが開いているときに、データ インポーターを同時に実行することはできません。

私の問題は次のように発生します。

1.アプリケーションを開き、構成を確認します。(構成ウィンドウに入って、すべてをスポット チェックします)。2.データのインポートを実行します。3.設定ウィンドウを再度開きます。

インポート後に構成ウィンドウを再度開くと、DataReader からエラーが表示されますが、Snapshot isolation transaction failed accessing database...この DataReader は、トランザクションまたは IsolationLevel がまったく設定されていない SqlConnection から作成されます。

アプリケーションを再起動すると、エラーなしで構成ウィンドウを再度開くことができます。

.Net または SQLServer は IsolationLevel を保持していますか?

すべてに対して新しいトランザクションを作成せずに、設定後に IsolationLevel を変更する方法はありますか?

0 投票する
2 に答える
8832 参照

sql - postgresql トリガー: 自動コミットを無効にして分離レベルを設定

データベース INSTEAD OF INSERT ON テーブルにトリガーを作成し、何らかの操作を行ってから、関連する別のテーブルにデータを挿入します。自動コミットを無効にし、トリガー内で別の分離レベルを設定する必要があります。どうすればよいですか?

0 投票する
2 に答える
720 参照

sql - REPEATABLE_READ 分離は非範囲クエリの挿入を防ぎますか?

次の SQL 疑似コードがあるとします。

REPEATABLE_READ 分離は、同時接続Users[id=5]がクエリと挿入の間に挿入されるのを防ぐために保証されていますSERIALIZABLEか、それとも分離を使用する必要がありますか?

:可能であれば、データベースに依存しないソリューションを探しています。そうでない場合は、業界の何らかのコンセンサスに反するように、複数のデータベースから経験的な証拠を提供してください。

UPDATE : 元の質問には、範囲ロックを利用した誤ったクエリが含まれていました。この質問の目的は、範囲ロックを必要としないクエリに焦点を当てることであるため、質問を更新しました。

0 投票する
2 に答える
79 参照

sql-server - 特定のユーザーのSQLサーバーへのアクセスを一時的に拒否する

ETL プロセスでデータをロードするデータ ウェアハウス環境であるデータベースがあります。

ETL プロセス中に、特定のロールのクエリに対してデータベースを使用できないようにしたいと考えています。

可能な解決策は何ですか?

0 投票する
2 に答える
2271 参照

java - spring トランザクション分離 SERIALIZABLE が機能しない

Main.java のコード:

UserManagerImpl.java のコード:

UserDAOImpl.java のコード:

spring.xml のコード:

上記のメインクラスを実行すると、理論的にはスレッド 1 が最初に開始され、テーブルをロックする必要がありますUSER(なぜなら)。スレッド 2 が実行されているときは、テーブルからテーブルを読み取らずにテーブルからisolation = Isolation.SERIALIZABLEロックが解放されるまで待機する必要がありますが、実行するとUSERこのコードは、最初のトランザクションが完了するのを待たずにテーブルと印刷を読み取っています。USERIsolation だと思っていてもテーブルロックが効かないのはなぜSERIALIZABLE???

0 投票する
1 に答える
459 参照

multithreading - 分離と原子性を備えた MongoDB の複数の更新

場合によっては、MongoDB でアトミックかつ分離された複数の更新操作を実行して、他のプロセスまたはスレッドが処理中にデータを取得しないようにする必要があります。原子性と分離がドキュメント レベルでのみサポートされており、ロックも db レベルで維持されていることを認識しています。上記のケースに関して、次のクエリがあります。

  • 「$isolated」はクラスターでは機能せず、さらに findAndModify() は単一のドキュメントで機能するため、このような複数の更新をバッチで個別に実行できる方法はありますか?
  • 上記のケースを実現するために同時実行制御を行うにはどうすればよいですか?
  • ここで 2 フェーズ コミットを使用できますか?トランザクションを維持することによって、それは分離された方法で実行されますか?
  • 調査中に、複数バージョンの同時実行制御に MongoMVCC を見つけました。使用したことがある場合は、上記のユース ケースに関する経験を共有してください。
0 投票する
1 に答える
572 参照

entity-framework - アトミックな「取得または作成」シナリオで選択するトランザクション分離レベル

1 つの Datarow のみが作成されることを保証するには、どの Transaction IsolationLevel が最適か。SQL Server 2012 と EntityFramework 6 が使用されていると仮定します。

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

c# - EF4 での SNAPSHOT 分離による SaveChanges

INSERT/UPDATE ステートメントはすべて、EF4 の SaveChanges を使用して READ UNCOMITTED 分離レベルで実行されていることがわかりました。

UnitOfWork クラスでは、これは変更 (挿入/更新) をコミットするコードです。

Entity Framework 4 を使用してコミットされたすべての INSERTS および UPDATES は、SNAPSHOT 分離レベルでコミットされることを望みます。

SaveChanges() を Scope で囲んでみましたが、うまくいかないようです (SQL 側ではまったく挿入されません)。

私たちは何を間違っていますか?