Това вероятно не е проблем с вашия код. Това е грешка в SQL Server. Те имаха подобен проблем в SQL Server 2005. Това се случи само при подходящи условия, така че много малко хора го видяха, а тези, които го видяха, бяха много объркани.
Имайки предвид това, ето някои неща, които трябва да проверите и които са работили при други със същия проблем:
- Потърсете четци на данни, които не са затворени. Уверете се, че правите myReader.Close(), след като прочетете редовете, които искате. Много хора просто се кланят, без да затварят.
- Използвайте собствения клас SqlTransaction вместо OleDbTransactions, където е възможно.
- Погледнете транзакциите си. Уверете се, че извършвате/връщате чисто, преди да затворите връзката си.
- Използвайте Connection.BeginTransation вместо Connection.BeginDbTransaction