For those who are not yet experts in database locking and implementation, this can be a surprisingly difficult subject for your mind.
I highly recommend reading the Hugo Kornelis snapshot isolation series (SQL Server MVP). So far this is the most comprehensive analysis I've seen in practical terms when using snapshots.
To summarize the main issues:
- (UNIQUE, FOREIGN KEY ..), SQL Server . , , . , / .
- . , , , .
, , , .
, , ; , . , , , , , , (, , , !).
, , . - ( SELECT ), READ UNCOMMITTED ( "", - , ).
:
, - . (NHibernate, EF), 3- , -, , , . "", , - , , . , , , ; , .
, "" . , , , , , 20 .