Managing concurrency in SQL Server

Typically, SQL Server is able to successfully handle multiple people updating data at the same time. Occasionally, however, you may find that you run a query and the data that is returned is not quite right because someone else has simultaneously done something to the data you just queried.

There are 3 types of problems you can run into:

* Dirty data

* A "phantom read"

* A "non-repeatable read".

To solve for these, you can have a stored procedure execute with a "SNAPSHOT ISOLATION".

Here's a good read for further information: