文字之墙(道歉,但你需要全部阅读):
错误消息: 数据库错误:连接超时已过期。尝试使用登录前握手确认时超时时间已过。这可能是因为登录前握手失败或服务器是una
环境: 虚拟VMware Server 2008R2 SP1,运行SQL 2008 SP3 32GB RAM - 大约50个数据库 10Gb LAN连接,SSD SAN提供的数据存储存储。
应用程序是CSTS连接到SQL Server" DIRGE"。 该应用程序配置为连接到另一个文档检索应用程序" Onbase",谁的数据库也存储在DIRGE上。
全天,CSTS将获得连接超时。它通常是在喷射中,所以如果一个用户正在超时,通常其他人也会得到一个。
SQL分配了28GB的32GB。内存利用率一致> 95%。 我们无法添加更多RAM,因为2008R2标准看不到超过32GB。 CPU利用率有时非常高,趋势是越来越多的利用率,所以我们增加了第二个CPU(2个插槽,每个插槽4个核心)。
我搜索了事件日志和SQL日志,以及CSTS错误日志,寻找共性。我发现很少。我已经解决了所有事件日志错误,没有快乐。
注意:Onbase服务器也会获得SQL的连接超时,因此我不相信它的特定应用程序。
预定活动: 日志在上午8点,下午11点,下午2点,下午5点备份。 有一个SSIS包每15分钟运行一次,运行大约需要8分钟。但是,我没有发现与超时有任何关联。 还有一些维护计划也在下班后运行。
IP4和6都启用了。 客户端通过IP引用数据库服务器,因此它不是名称解析问题。 启用IP协议,静态设置为端口1433。 我从Onbase服务器运行了一个portqry到TCP 143和UDP 1434,它正在监听。
我们有一台运行和观察此服务器的Solarwinds数据库分析器;它说CPU和RAM都是问题。如果有人有兴趣,我可以从中获得更多细节。
我已经知道了这一点,我似乎无法找到一个好的答案。从我的搜索来看,这似乎是一个网络问题,但我们已经看过网络,而且我没有看到任何可能的原因。吞吐量总体上很小。
我会这样说:ONBASE服务器与DIRGE位于不同的子网上,但我使用名称管道和IP运行测试数据库连接,它们都可以正常工作。
问题在于我在DBA上,所以我即时学习(我是高级系统工程师)。
我很好奇是否有人建议如何追捕它。