【发布时间】:2012-01-25 11:25:02
【问题描述】:
我的生产服务器上有一个程序,它返回了这个错误:
我主要关心的是我的程序是否在生产服务器上,为什么 它在错误中返回我的源代码的位置?
还有什么是调试此类死锁错误的最佳方法和 是服务器资源不足造成的吗?
事务(进程 ID 73)在线程上死锁 |沟通 与另一个进程缓冲资源,并已被选为 僵局受害者。重新运行事务。 : 在 System.Data.SqlClient.SqlConnection.OnError(SqlException 异常, 布尔中断连接)
在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException 异常,布尔型 breakConnection)
在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler、SqlDataReader 数据流、 BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
在 System.Data.SqlClient.SqlDataReader.HasMoreRows()
在 System.Data.SqlClient.SqlDataReader.ReadInternal(Boolean 设置超时)
在 System.Data.SqlClient.SqlDataReader.Read()
在 Microsoft.Data.Extensions.Materializer`1.d__a.MoveNext()
在 Microsoft.Data.Extensions.Materializer`1.d__0.MoveNext()
在 System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
在 System.Collections.Generic.List
1..ctor(IEnumerable1 收藏)在 System.Linq.Enumerable.ToList[TSource](IEnumerable`1 源)
在 Console.Export.DataProvider.ExportData(IEnumerable`1 活动参数)在 D:\Documents 和 Settings\USER\Desktop\11_16_2011\ITS\Console\Export\DataProvider.cs:line 44
在 D:\Documents 中的 Console.Export.WarDataProvider.GetValues() 和 Settings\USER\Desktop\11_16_2011\ITS\Console\Export\DataProvider.cs:line 31
在 Console.Export.ExportEngine.Export(IDataProvider provider) 中 D:\文档和 Settings\USER\Desktop\11_16_2011\ITS\Console\Export\ExportEngine.cs:line 25
【问题讨论】:
-
这个程序是在不同的线程中发出多个 SQL 命令,还是在尝试使用 SQL DB 时与其他软件发生冲突?
-
死锁与缺乏资源没有直接关系。简单地说:相互竞争的 SPID 都有对方想要的锁
-
@turowicx 我不相信它正在运行多个线程,但是它一个接一个地依次运行多个更新。
标签: c# linq sql-server-2005 deadlock