SQL服务器超时(SQL server timeout)

2019-08-01 17:51发布

我的应用程序是在传统的ASP开发的,但也使用asp.net,因为我迁移在.NET上的应用。 它使用SQL Server数据库以及托管的Windows Server 2003上。

现在的问题是,应用程序继续完全正常工作了很长时间,但再经过一段时间的SQL服务器提供了超时错误,它能够满足任何提出的要求。 它当我重新启动我的SQL服务器甚至IIS可能连固定的,最终我不得不重新启动每一只解决问题的时间我的服务器。

任何想法可能会导致什么问题? 只给一个rought的想法,该网站是在高峰时段使用了大约300人。

任何想法可能会导致什么问题? 只给一个rought的想法,该网站是在高峰时段使用了大约300人。 我certainely关闭连接无处不在,每一页上我的最终代码关闭连接。 如果最终页面之前发生错误,则厚望处理程序关闭连接。 所以,我相信,关闭连接是不是一个问题。 而且,有没有打开的连接,如果我看到SQL日志。 我们的服务器,只有一个盒子,有SQL Server,IIS,易网邮(我们的邮件服务器)。 我已经重新启动SQL Server之后,它并没有解决问题。 只有重新启动Windows服务器,它的工作。 从perfom,IO使用率是相当高的。 有没有什么建议?

谢谢,

Answer 1:

这听起来很像有某种你不清理正确的非托管资源。 我们没有足够的信息来准确地知道是什么资源可能,所以我们所能做的是猜测。

我的第一直觉就是数据库连接,除了重新启动的是重新启动SQL服务器应该修复它,如果是这样的话。 接下来的名单上的文件句柄和线程,所以如果你做任何多线程工作或额外的文件IO,这将是东西来看待。 请记住,在ASP.Net中, using的语句(不是指令)是你的朋友。



Answer 2:

最起码,你在关闭到数据库的连接,一旦你在代码中使用它呢? 另外,请问你的连接字符串是什么样子? 它使用连接池?

编辑:我看到您的意见。 是否有未决的事务被提交?



Answer 3:

首先,你需要跟你的DBA ......他们可以检查打开的连接,表锁,慢速运行的查询,数量等

我的直觉反应是,你不关闭你的连接的地方,或者你的连接池太低。



Answer 4:

你定期做数据库的维护? 重建/整理索引,重新计算统计数据(除非它被设置为自动执行此操作)。 检查你的事务日志的大小等



文章来源: SQL server timeout