我的应用程序一直运行到 Timeout Expired SqlExceptions。问题是这个查询只需要运行相当长的时间。我很难弄清楚这个异常发生在哪里。这是在数据库服务器上创建的超时还是在我的程序中发生的?或者如果两者都可以,我如何确定它是哪一个?
最后,如何延长超时时间?
我的应用程序一直运行到 Timeout Expired SqlExceptions。问题是这个查询只需要运行相当长的时间。我很难弄清楚这个异常发生在哪里。这是在数据库服务器上创建的超时还是在我的程序中发生的?或者如果两者都可以,我如何确定它是哪一个?
最后,如何延长超时时间?
增加超时 = BAD
修复查询 = GOOD
我不确定所涉及的所有细节,但通常以下适用:
当查询运行缓慢时,在管理工作室中执行以下操作:
“扫描” = 触摸每一行(表格或索引)。您想“扫描”电话簿以查找一个号码还是使用索引?
您可能正在运行DataContext 上设置的CommandTimeout 。这默认为 30 秒。
您需要做的就是在执行查询之前在 DataContext 上设置属性。
这很可能发生,因为默认超时为 30 秒。您可以通过在连接字符串上设置 Timeout 属性来更改此设置。Alternatley 您可以在DataContext上设置它。
这是一篇关于代码项目的文章。