3

SQL Server では既定の分離レベルは ですREAD_COMMITTEDが、SQL Azure では既定のレベルは ですREAD_COMMITTED_SNAPSHOT

SQL Server のように動作するように、SQL Azure サーバーの既定のレベルをREAD_COMMITTED_SNAPSHOT(を使用して) に変更するとします。SET TRANSACTION ISOLATION LEVEL

どのような悪影響が予想されますか?

4

1 に答える 1

3

アプリケーション ロジックが壊れる可能性があります。本当に、それはあなたが何をしているかに大きく依存します。全体として、いくつかの指針:

  • 真の SNAPSHOT は、RCSI よりもはるかに少ない「驚き」を持っています。「スナップショット」行バージョンは、トランザクションが開始された瞬間として真の SNAPSHOT で明確に定義されているため、同じトランザクション内で異なる行バージョンが表示されるという RCSI 問題に悩まされることはありません (非常に微妙で理解しにくい問題につながります)。
  • デッドロックの代わりに更新の競合が発生しますが、正確に「代わりに」競合が発生します。いくつかの違いがあり、明らかにアプリは新しいエラー コード 3960 を想定していない可能性があります。

Implementing Snapshot or Read Committed Snapshot Isolation in SQL Server: A Guide に進むことをお勧めします。

于 2013-01-10T12:56:14.300 に答える