When locking is used as the concurrency control mechanism,
it solves concurrency problems. This allows all transactions to run in complete
isolation of one another, although there can be more than one transaction
running in SQL server at any time. Transaction must be run at an isolation
level of repeatable read or higher to prevent lost updates. Lost updates occur
when there are two transactions modify the same data at the same time and the
transaction that completes first is lost. Lost update can not occur at the
default isolation level of read committed.