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: