SQL Server 2008 R2 の SNAPSHOt 分離レベルについては、MSDN ADO.Net ドキュメントに次のように記載されています。
データを変更するトランザクションは、データを読み取るトランザクションをブロックしません。また、データを読み取るトランザクションは、SQL Server の既定の READ COMMITTED 分離レベルで通常行われるように、データを書き込むトランザクションをブロックしません。
両方のトランザクションが SNAPSHOT 分離モードの場合、書き込みが書き込みをブロックするかどうかについては言及されていません。したがって、私の質問は次のとおり です。SNAPSHOT トランザクション 1 ブロックの書き込みは、別の SNAPHOT トランザクション 2 の同じテーブルに書き込みますか?
最新のアップデート
私の質問について多くのことを考えた後、以下の段落に記載されている結論に達しています。他の人がこれにもっと光を当てることができることを願っています。
書き込みが書き込みをブロックしないリレーショナル データベースはありません。つまり、書き込みは常に書き込みをブロックします。書き込みには、INSERT、UPDATE、DELETE などのステートメントが含まれます。これは、使用する分離レベルに関係なく当てはまります。データベースで複数の書き込みが発生している場合、すべてのリレーショナル データベースはデータの一貫性を実装する必要があるためです。もちろん、このブロッキングが発生するには、同時書き込みが競合している必要があります (同じテーブルへの挿入または同じ行の更新など)。