To pravděpodobně není problém s vaším kódem. Je to chyba v SQL Serveru. Měli podobný problém v SQL Server 2005. Stalo se to pouze za podmínek, které byly tak akorát, takže to vidělo jen velmi málo lidí a ti, kteří ano, byli velmi zmatení.
Zde je několik věcí ke kontrole, které fungovaly u ostatních se stejným problémem:
- Hledejte DataReaders, které nejsou uzavřené. Ujistěte se, že děláte myReader.Close() poté, co si přečtete požadované řádky. Mnoho lidí se prostě zakolísá bez zavření.
- Pokud je to možné, použijte nativní třídu SqlTransaction místo OleDbTransactions.
- Podívejte se na své transakce. Než připojení zavřete, ujistěte se, že se zavazujete/vracíte zpět čistě.
- Použijte Connection.BeginTransation spíše než Connection.BeginDbTransaction