問題タブ [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.
sql-server - 以前に読み取られた行が同時トランザクションによって変更された場合、トランザクションを競合で失敗させる
SNAPSHOT 分離レベルを使用するトランザクションによって行が変更された場合、同じ行に対する (別のトランザクションによる) 同時更新により、SNAPSHOT トランザクションは競合で失敗します。
読み取られただけの行 (必ずしも変更されていない) で同じ動作を発生させる方法はありますか?
例として、次のシーケンスが発生した場合に TX1 が競合して失敗するようにします。
- TX1 は SNAPSHOT 分離レベルで開始します
- TX1 は行 1 を読み取ります
- TX2 が行 1 を変更してコミットする
- TX1 がコミットし、行 1 が読み取られた後に変更されているため、競合で失敗する
sql-server - デフォルトでスナップショット分離レベルがオフになっているのはなぜですか?
MS SQL Server では、 SNAPSHOT分離レベルでトランザクションを実行するには、まずデータベース レベルで有効にする必要があります。
このフラグを ON にすると、DBA が注意しなければならない欠点がいくつかあるとしか思えません。しかし、私はそれらが何であるかを知りません。
デフォルトでオンになっていないのはなぜですか?
PS。分離レベルのREAD_COMMITTED_SNAPSHOT
バージョンについて話しているわけではないことに注意してください。READ COMMITTED
c# - データベースを SQL Server のスナップショットに復元できない
データベース スナップショットを作成し、単体テストを実行するたびにデータベースを復元したいと考えています。スナップショットを作成できますが、復元中に以下のエラーが発生します。
メッセージ 5070、レベル 16、状態 2、行 1
データベースの状態は、他のユーザーがデータベース 'ImportData' を使用している間は変更できませんメッセージ 3013、レベル 16、状態 1、行 1
RESTORE DATABASE が異常終了しています。
データベースを作成してスナップショットに戻すための SQL クエリを以下に示します。
スナップショットを作成します。
スナップショットに復元
それは次のように述べています
他のユーザーがデータベースを使用している間は、データベースの状態を変更できません
この問題を克服するにはどうすればよいですか?これを行うために .NET (C#) を使用しています。RESTORE DATABASE
正常に実行するために接続を閉じる方法は?
スナップショットを作成し、後で DB を元に戻すこのプロセス全体を、テスト スイートの各テストで実行したいと考えています。
sql-server - SQL Server 2008 R2 スナップショット分離の問題
データベースでスナップショットを有効にして SET TRANSACTION ISOLATION LEVEL SNAPSHOT を使用していますが、次のような単純な削除ステートメントを実行すると、
データが別のテーブルからロードされると、テーブルを効果的に一掃し、新しいデータを再入力します。この操作が行われている間に、スナップショットが宣言されたトランザクションでも実行される単純な選択を行います。たとえば、
DELETE / INSERT ステートメントが実行されている場合はテーブルをスキャンし、それ以外の場合はインデックス シークを実行します。それは期待される動作ですか?
dac - パブリッシュ中に Dacpac スナップショット オプションを無視する
(sqlpackage.exe、DacFx、または Visual Studio のいずれかを使用して) dacpac をデプロイするときに、特定のデータベース プロジェクトのプロジェクト設定で設定されたスナップショット オプションを無視することはできますか?