Наиболее важным отличием этих двух оптимистических уровней изоляции является то, что транзакция snapshot может вызывать конфликты обновлений, когда процесс просматривает те же данные во время выполнения транзакции и не является заблокированным. В противоположность этому уровень изоляции read committed snapshot не использует свой собственный XSN при выборе версий строки. Каждый раз при старте оператора подобная транзакция читает самый последний XSN, созданный для этого экземпляра системой базы данных, и выбирает строку с этим номером.
Другим отличием является то, что уровень изоляции read committed snapshot позволяет другим транзакциям выполнять модификацию данных до того, как будет завершена транзакция контроля версий строк. Это может привести к конфликту, если другая транзакция изменяет данные в промежутке времени, когда транзакция контроля версий строк выполнит чтение с последующей попыткой выполнения соответствующей операции записи. (Для приложения, базирующегося на уровне изоляции snapshot, система проверяет возможность возникновения конфликта и отправляет соответствующее сообщение об ошибке.)