Dit is waarschijnlijk geen probleem met uw code. Het is een bug in SQL Server. Ze hadden een soortgelijk probleem in SQL Server 2005. Het gebeurde alleen onder omstandigheden die precies goed waren, dus heel weinig mensen zagen het ooit en degenen die dat wel deden waren erg in de war.
Dat gezegd hebbende, hier zijn enkele dingen om te controleren die voor anderen met hetzelfde probleem hebben gewerkt:
- Zoek naar DataReaders die niet gesloten zijn. Zorg ervoor dat je domyReader.Close() doet nadat je de gewenste rijen hebt gelezen. Veel mensen rocken gewoon zonder te sluiten.
- Gebruik waar mogelijk de native SqlTransaction-klasse in plaats van OleDbTransactions.
- Kijk naar uw transacties. Zorg ervoor dat je een correcte commit/roll-back uitvoert voordat je je Connection afsluit.
- Gebruik Connection.BeginTransation in plaats van Connection.BeginDbTransaction