C# SQL超时过期故障排除

C# SQL超时过期故障排除,c#,sql,linq,nhibernate,C#,Sql,Linq,Nhibernate,我的C#应用程序目前抛出了许多以下异常: 超时已过期。完成之前的超时时间 操作或服务器没有响应。这一失败发生了 尝试连接到路由目标时 我正在使用linq查询和NHibernate 我很难对此进行故障排除,因为并非每次运行查询时都会发生异常。如果我直接在SSMS上运行查询,它似乎运行得非常快 超时异常仅在针对数据库中的一个表运行时出现 我知道我可以增加查询超时,但我想解决问题的根本原因。我在解决这些问题方面的知识有限,因此我需要采取哪些后续步骤来确定问题所在?增加连接字符串的“连接超时”。60是一

我的C#应用程序目前抛出了许多以下异常:

超时已过期。完成之前的超时时间 操作或服务器没有响应。这一失败发生了 尝试连接到路由目标时

我正在使用linq查询和NHibernate

我很难对此进行故障排除,因为并非每次运行查询时都会发生异常。如果我直接在SSMS上运行查询,它似乎运行得非常快

超时异常仅在针对数据库中的一个表运行时出现


我知道我可以增加查询超时,但我想解决问题的根本原因。我在解决这些问题方面的知识有限,因此我需要采取哪些后续步骤来确定问题所在?

增加连接字符串的“连接超时”。60是一个很好的数字。

如果是MS SQL Server,您可以让它在一段时间内运行监视器,以分析查询并提出改进建议。但首先,我要记录使用的确切请求参数,以便您可以分析这些参数,并可能找到一种模式。SSMS总是比SQLClient运行得更快。SQLClient类在发送到c#或从c#发送数据时必须打包/解包数据。错误消息似乎是连接问题,而不是命令超时。发生错误需要多长时间?什么是连接字符串?如果只对一个表执行此操作,则表凭据可能不允许您访问。