C# 生产中的控制台程序死锁
我的生产服务器上有一个程序,该程序返回此错误:C# 生产中的控制台程序死锁,c#,linq,sql-server-2005,deadlock,C#,Linq,Sql Server 2005,Deadlock,我的生产服务器上有一个程序,该程序返回此错误: 我主要关心的是,如果我的程序在生产服务器上,为什么是 它会返回我的源代码在错误中的位置吗 还有,调试此类死锁和错误的最佳方法是什么 这是由于服务器上缺少资源造成的吗 事务(进程ID 73)在线程通信上死锁 与另一个进程缓冲资源,并已被选为 死锁受害者。重新运行事务:在 System.Data.SqlClient.SqlConnection.OnError(SqlException异常, 布尔(断开连接) 位于System.Data.SqlClien
1..ctor(IEnumerable
1
收藏)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
在Console.Export.DataProvider.ExportData(IEnumerable`1)中
D:\Documents和中的activitiesParam)
设置\USER\Desktop\11\u 16\u 2011\ITS\Console\Export\DataProvider.cs:line
44
在D:\Documents和
设置\USER\Desktop\11\u 16\u 2011\ITS\Console\Export\DataProvider.cs:line
三十一
在控制台中的.Export.ExportEngine.Export(IDataProvider提供程序)
D:\文件和
设置\USER\Desktop\11\u 16\u 2011\ITS\Console\Export\ExportEngine.cs:line
二十五
当你编译你的程序时,你是在调试而不是发布配置中编译它的吗?如果您执行调试构建并将文件部署到服务器,那么它将显示额外的诊断信息,在这种情况下这可能是一件好事
- 关于调试此文件的最佳方法,我建议您做两件事: 用于捕获和处理数据库中的错误 节目
- 将此程序与其死锁的程序进行比较。你有一个 这有时可以通过更改中的顺序来解决 哪些表在事务中被引用
以下是有关的指南。可以使用Sql Profiler完成死锁的正确检查,它有一些用于此操作的事件 但是 它显示的并不是所有收集到的有用信息——将事件保存为xml并在xml中挖掘可以为您提供更多有关问题的信息 或 您可以使用sql server将死锁的内部日志记录到自己的错误日志中。该行为由跟踪标志1222和1204控制 和
通常,如果死锁语句中涉及的某个语句使用table或pk scan,那么解决死锁问题的正确索引通常是该程序在不同线程中发出多个SQL命令,还是在尝试使用SQL DB时与其他软件发生冲突?死锁实际上与缺少资源没有直接关系。简单地说:相互竞争的spid每个都有另一个的锁wants@turowicx我不相信它正在运行多个线程,但是它正在连续运行多个更新,一个接一个。啊,是的,因为它准确地告诉我哪些行失败了。我只是有点担心它实际上是在试图访问我的机器来运行。