Reads performed under SNAPSHOT isolation level read any modified data from the version store. As such they are affected only by writes. Writes behave identically under all isolation levels.
Therefore SNAPSHOT reads behave the same way no matter the isolation level of the concurent transactions.
Reads performed under SNAPSHOT isolation level read any modified data from the version store. As such they are affected only by writes. Writes behave identically under all isolation levels.
Therefore SNAPSHOT reads behave the same way no matter the isolation level of the concurent transactions. READ_COMMITTED_SNAPSHOT ON makes READ COMMITTED act as SNAPSHOT. In effect, it is SNAPSHOT: the READ_COMMITTED_SNAPSHOT was provided as a quick way to port applications to SNAPSHOT w/o code changes.So everything said on the first paragraph applies.
Thanks! Is there ever a circumstance when reads under SNAPSHOT isolation could cause a SERIALIZABLE transaction to block? (at first I thought of using the NOLOCK hint, but read some commentary that there are risks so SNAPSHOT would be better) – mos Dec 5 '10 at 5:17 If the SNAPSHOT transaction does a write then it can block any transaction, including SERIALIZABLE ones.
If the SNAPSHOT transaction does stricly reads, then it will not block any other transaction on locks. There are other types of resource contention (ie. Block on something else not locks) but those are extreme cases like memory exhaustion and not ordinary operations.In any case, SNAPSHOT reads is by far your best option.
– Remus Rusanu Dec 5 '10 at 5:47.
I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.