I have read here that some extra data will be stored per row so we might see a performance degradation but what other risks are there?
eg. Will this affect recovery of the database? Is there anything else we need to do to take advantage of this?
I plan to execute these commands:
ALTER DATABASE DatabaseName SET READ_COMMITTED_SNAPSHOT ON
ALTER DATABASE DatabaseName SET ALLOW_SNAPSHOT_ISOLATION ON
I believe this will give us something closer to oracle where if one transaction is updating other transactions can still read the old data. Is this correct?
I am looking into this because I am sick of locking problems in SQL Server 2005. I am hoping this might reduce the the occasional deadlocks our users see, help overall performance of our application and encourage our developers to do more than one operation per transaction without fear.