【问题标题】:VS 2010: SQL timeout exception, SQL Server executes normallyVS 2010:SQL超时异常,SQL Server正常执行
【发布时间】:2023-03-15 03:39:01
【问题描述】:
在 VS 2010 中我遇到了超时异常,但在 MS SQL Server 中它可以正常执行。
该请求是包含带有多个连接的 select 语句的 sproc。
什么原因,有什么线索吗?
谢谢!
【问题讨论】:
标签:
.net
sql-server
visual-studio-2010
【解决方案1】:
这发生在我身上一次,当时我忘记在一个经常调用的新例程中正确关闭连接。
当服务器上达到最大连接数时,程序超时。但是我当然可以在已经有有效连接的查询窗口中运行查询。花了点时间才弄明白。。
检查活动监视器以查看是否有大量来自客户端的连接徘徊,如果是,请检查您是否正确关闭了所有连接。
【解决方案2】:
这通常发生在数据库服务器在默认时间限制内没有响应时。如果您尝试连接到远程数据库位置,这种情况很可能是由于网络连接不一致。
或者这种无响应行为也可能是由于您的查询过于复杂(有许多连接并引用许多视图和用户定义的函数)或某些维护操作在服务器端有太多的进动造成的在服务器端进行中(如数据库备份等)。
另外,请确保您的连接字符串的连接超时值设置如下:
" server=myserver;database=myDatabase;uid=sa;pwd=pass;connection timeout=8; "
here '8' seconds is used as a default timeout limit.
另一种可能的解决方案是设置命令对象的commandtimetout。
idbcommand.CommandTimeout = 60000;