Understanding SQL Server Concurrency and Solving with Row Versioning