問題タブ [snapshot-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 投票する
0 に答える
79 参照

sql-server - 以前に読み取られた行が同時トランザクションによって変更された場合、トランザクションを競合で失敗させる

SNAPSHOT 分離レベルを使用するトランザクションによって行が変更された場合、同じ行に対する (別のトランザクションによる) 同時更新により、SNAPSHOT トランザクションは競合で失敗します。

読み取られただけの行 (必ずしも変更されていない) で同じ動作を発生させる方法はありますか?

例として、次のシーケンスが発生した場合に TX1 が競合して失敗するようにします。

  1. TX1 は SNAPSHOT 分離レベルで開始します
  2. TX1 は行 1 を読み取ります
  3. TX2 が行 1 を変更してコミットする
  4. TX1 がコミットし、行 1 が読み取られた後に変更されているため、競合で失敗する
0 投票する
2 に答える
915 参照

sql-server - デフォルトでスナップショット分離レベルがオフになっているのはなぜですか?

MS SQL Server では、 SNAPSHOT分離レベルでトランザクションを実行するには、まずデータベース レベルで有効にする必要があります。

このフラグを ON にすると、DBA が注意しなければならない欠点がいくつかあるとしか思えません。しかし、私はそれらが何であるかを知りません。

デフォルトでオンになっていないのはなぜですか?

PS。分離レベルのREAD_COMMITTED_SNAPSHOTバージョンについて話しているわけではないことに注意してください。READ COMMITTED

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

c# - データベースを SQL Server のスナップショットに復元できない

データベース スナップショットを作成し、単体テストを実行するたびにデータベースを復元したいと考えています。スナップショットを作成できますが、復元中に以下のエラーが発生します。

メッセージ 5070、レベル 16、状態 2、行 1
データベースの状態は、他のユーザーがデータベース 'ImportData' を使用している間は変更できません

メッセージ 3013、レベル 16、状態 1、行 1
RESTORE DATABASE が異常終了しています。

データベースを作成してスナップショットに戻すための SQL クエリを以下に示します。

スナップショットを作成します。

スナップショットに復元

それは次のように述べています

他のユーザーがデータベースを使用している間は、データベースの状態を変更できません

この問題を克服するにはどうすればよいですか?これを行うために .NET (C#) を使用しています。RESTORE DATABASE正常に実行するために接続を閉じる方法は?

スナップショットを作成し、後で DB を元に戻すこのプロセス全体を、テスト スイートの各テストで実行したいと考えています。

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

sql-server - SQL Server 2008 R2 スナップショット分離の問題

データベースでスナップショットを有効にして SET TRANSACTION ISOLATION LEVEL SNAPSHOT を使用していますが、次のような単純な削除ステートメントを実行すると、

データが別のテーブルからロードされると、テーブルを効果的に一掃し、新しいデータを再入力します。この操作が行われている間に、スナップショットが宣言されたトランザクションでも実行される単純な選択を行います。たとえば、

DELETE / INSERT ステートメントが実行されている場合はテーブルをスキャンし、それ以外の場合はインデックス シークを実行します。それは期待される動作ですか?

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

dac - パブリッシュ中に Dacpac スナップショット オプションを無視する

(sqlpackage.exe、DacFx、または Visual Studio のいずれかを使用して) dacpac をデプロイするときに、特定のデータベース プロジェクトのプロジェクト設定で設定されたスナップショット オプションを無視することはできますか?