• READ COMMITTED works differently in SQL Server than it does in other databases such as Oracle. With SQL Server, READ COMMITTED works almost similar to SERIALIZABLE. Although transactions that read data that is currently being updated is suppossed to return the data in its committed state, what really happens in SQL Server is that the data is blocked.

    Snapshot isolation will create a duplicate row of the data being updated in TEMPDB that can be read by other transactions during the update process. This will reduce the amount of blocking that takes place during heavy OLTP loads. I've used it in the past with great success.

    MSDN has a good article on the subject:

    http://msdn.microsoft.com/en-us/library/ms345124(SQL.90).aspx