【发布时间】:2019-12-22 06:37:10
【问题描述】:
我的 .net 应用程序出现以下错误。
>System.Transactions.TransactionAbortedException: The transaction has aborted. ---> System.TimeoutException: Transaction Timeout
--- End of inner exception stack trace ---
at System.Transactions.TransactionStateAborted.BeginCommit(InternalTransaction tx, Boolean asyncCommit, AsyncCallback asyncCallback, Object asyncState)
at System.Transactions.CommittableTransaction.Commit()
at System.Transactions.TransactionScope.InternalDispose()
at System.Transactions.TransactionScope.Dispose()
我在论坛中查看了类似的问题,大部分回复/答案是增加/设置一个大于默认超时的超时时间。 这有助于处理一些缓慢的事务/数据库操作。
增加超时时间并不能真正帮助找出确切的问题,对吧?
我注意到支持此应用程序的 SQL 服务器中没有记录任何错误。用户在此应用程序中执行大量读取操作。由于我没有看到任何查询超时的 SQL Server 日志,因此我认为它与 SQL Server 无关。
用户通过网络连接。如果是表锁错误,我想我会得到一个错误号,严重程度也在 SQL 服务器日志中,我相信。另外我有扩展的事件会话运行以捕获所有sql server 错误,我在那里看不到这个错误。让我感到困惑的是,这是一个 sql 错误或一些应用程序代码问题。
如何找出根本原因?
【问题讨论】:
标签: .net sql-server exception timeout