Wednesday, January 19, 2011

Snapshot Isolation

I’m currently making use of the SQL Server Change Tracking (new feature in 2008) to incrementally load our data warehouse. Per Microsoft, it's recommended to turn on Allow_Snapshot_Isolation at server level to make sure the consistency of data when using Change Tracking. I googled about this snapshot isolation stuff and ran into some very interesting discussions/blogs/articles. See below:

Hugo Kornelis, SQL Server MVP:
http://sqlblog.com/blogs/hugo_kornelis/archive/2006/07/21/Snapshot-and-integrity-part-1.aspx
http://sqlblog.com/blogs/hugo_kornelis/archive/2006/09/15/Snapshot_and_integrity_part_2.aspx
http://sqlblog.com/blogs/hugo_kornelis/archive/2006/08/25/174.aspx
http://sqlblog.com/blogs/hugo_kornelis/archive/2006/09/15/Snapshot_and_integrity_part_4.aspx

Paul Alcon:
http://www.sqlteam.com/article/transaction-isolation-and-the-new-snapshot-isolation-level

microsoft.public.sqlserver.server:
http://www.sqlnewsgroups.net/sqlserver/t11164-performance-sql2k5-with-snapshot-isolation-level-turned.aspx

Sunil Agarwal:
http://blogs.msdn.com/b/sqlserverstorageengine/archive/2008/03/30/overhead-of-row-versioning.aspx