Some friendly advice. If you have a co-worker who used to be part of Microsoft's SQL support team, don't tell him that a scheduler deadlock is a shortage of available threads (it isn't), and for heaven's sake *do not* tell him that starting a transaction causes locks to be held until the transaction is committed or rolled back.
It's true - starting a transaction *does* keep locks held until the transaction is completed (committed or rolled back), but it's also like telling a person that they should not try to exit their car when it's traveling faster than 60 miles an hour.
It's true - starting a transaction *does* keep locks held until the transaction is completed (committed or rolled back), but it's also like telling a person that they should not try to exit their car when it's traveling faster than 60 miles an hour.