首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Server 2008 R2:一段时间后拒绝连接

Server 2008 R2:一段时间后拒绝连接
EN

Stack Overflow用户
提问于 2012-11-03 15:51:32
回答 2查看 835关注 0票数 5

首先,我想告诉您,我正在使用的程序已经编译好了,我无法查看源代码。

所以,我的问题是:

这些应用程序成功地打开了到特定数据库的大约31个连接。当它试图打开第32连接时,所有连接都会开始关闭,包括前面的31个连接。

老实说,我不知道为什么这个应用程序需要对相同的2-3个表打开这么多连接,但是在所有连接关闭之后,应用程序也会关闭。

17:41:38004db680 Server};SERVER=192.168.1.8:1433;UID=user;PWD=password;DATABASE=database {SQL DRIVER= 17:41:38004db680 08001 0000000e MicrosoftDBNETLIBInvalid连接。0x00000000 17:41:38004db680 01000 0000000e MicrosoftDBNETLIBConnectionOpen (ParseConnectParams())。0x00000000

这是该应用程序的日志输出。

一些补充信息:

  • 禁用SYN攻击保护也存在相同的问题
  • 数据库最大连接是30k+
EN

回答 2

Stack Overflow用户

发布于 2012-11-16 04:46:39

在数据库上运行此语句,查看是否超过了最大连接:

SELECT @@MAX_CONNECTIONS

票数 1
EN

Stack Overflow用户

发布于 2012-11-16 06:07:42

我想到了几件事

  1. 在应用程序执行之前和期间运行SQL。你看到什么输出?也许会有僵局发生?
  2. 这以前起作用了吗?最近停止了吗?如果是这样的话,您是否将服务包或其他修复应用于SQL?
  3. 如果您的应用程序是多线程的,并且它们每个线程都要进行X连接,那么可以尝试限制应用程序在单个内核上运行,而不是在多个内核上运行。这是一次肮脏的黑客攻击,但可能会有帮助。
  4. 如果打开32x命令提示符窗口,然后使用osql或sqlcmd实用程序打开到SQL的32个连接,怎么办?听起来很傻,但是如果上面的内容没有结果的话,至少你可以看看是仅仅是连接的数量还是其他的事情在进行中。另一种可能是

代码语言:javascript
复制
- data related (see #1); or
- driver related (inside the app).  Given it's using ODBC, and maybe it's old   (you don't say what Windows version, SQL version, etc is running) you could try updating MDAC  (MIcrosoft Data Access Components)?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13210783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档