首页 新闻 会员 周边

部署在IIS上的网站,运行过程中与数据库连接不上

0
悬赏园豆:50 [已解决问题] 解决于 2012-11-23 16:02

最近碰到一个比较头疼的问题,我们用asp.net开发的网站,部署到IIS上后,总是在运行过程中连接不上数据库。这种情况没有周期性可言,有时候几个月都不出现,有时候几天出现一次,有时候一天出现很多次,一直没有找到问题的原因,搞的头大。不知道大家有没有碰到过这种问题,或者有没有解决的思路,望指教。

 

服务器操作系统:windows server 2008 

        IIS是系统自带的

        数据库是Sql Server 2008

        应用和数据库部署在同一台服务器上的

Ven的主页 Ven | 初学一级 | 园豆:169
提问于:2012-11-21 15:22
< >
分享
最佳答案
0

检查系统日志,检查以下情况。

1、连接不上时,sqlserver的服务是否启动。

2、是否网站发起的数据库连接过多。

收获园豆:10
飞来飞去 | 老鸟四级 |园豆:2057 | 2012-11-21 15:27

1,服务肯定是启动的,如果在IIS中添加两个网站,都是同样的应用,如果一个连接不上了,另外一个缺可以。而且还有一个CS版的小程序一只在使用,从来没有出现连接不上的情况。

2、整个网站的客户端最多不超过50个,是局域网访问的

Ven | 园豆:169 (初学一级) | 2012-11-21 15:32

@Ven: 应该是连接数过多。如果两个网站,一个可以连接,一个不可以的时候,把可以连接的网站停掉,看看不可以的能不能连接了。

飞来飞去 | 园豆:2057 (老鸟四级) | 2012-11-21 15:45

@飞来飞去: 只要重启IIS就可以连接了

Ven | 园豆:169 (初学一级) | 2012-11-21 16:20

@Ven: 检查一下程序,或者用ssms看看到底是什么在占着连接不释放。这肯定是连接数的问题。

飞来飞去 | 园豆:2057 (老鸟四级) | 2012-11-21 16:22

@飞来飞去: 我只是举例,是为了做测试才建立两个网站的,只有一个网站的时候也会出现这种情况

Ven | 园豆:169 (初学一级) | 2012-11-21 16:25

@Ven: 这正说明这一个网站会占着连接不释放啊。IIS重启的时候强制是否数据库连接,所以重启后又可以连接了。

飞来飞去 | 园豆:2057 (老鸟四级) | 2012-11-21 16:42

@飞来飞去: 你是指网站建立的和数据库的连接一直处于连接状态,由于不同的客户端的访问,建立的连接数越来越多,致使连接资源被耗尽?

Ven | 园豆:169 (初学一级) | 2012-11-21 16:46

@Ven: 是这样的

飞来飞去 | 园豆:2057 (老鸟四级) | 2012-11-21 16:49

@飞来飞去: 这种情况之前也考虑过,还特意把系统中和数据库访问有关的代码找出来看过,都是使用后关闭了链接的。倒是另外一个同事用CS开发的地磅系统是一只保持链接,没有断开过,不过那边只有两台电脑

Ven | 园豆:169 (初学一级) | 2012-11-21 16:53
其他回答(7)
0

是连接超时还是连接不上?数据库有日志的

收获园豆:6
田林九村 | 园豆:2367 (老鸟四级) | 2012-11-21 15:34

根本就连接不上,就是所有要和数据库打交道的程序都无法正常获取或者更新数据

支持(0) 反对(0) Ven | 园豆:169 (初学一级) | 2012-11-21 15:42
0

看看端口有没被占用?

收获园豆:6
三十三块 | 园豆:373 (菜鸟二级) | 2012-11-21 15:37

什么端口?

支持(0) 反对(0) Ven | 园豆:169 (初学一级) | 2012-11-21 15:43

@Ven: 1433

支持(0) 反对(0) 捂汗 | 园豆:168 (初学一级) | 2012-11-21 16:07

@捂汗: 不是的

支持(0) 反对(0) Ven | 园豆:169 (初学一级) | 2012-11-21 16:20
0

你应该把异常打印出来,这样猜是没有用的。

收获园豆:6
Launcher | 园豆:45045 (高人七级) | 2012-11-21 16:23

嗯,是要输出才能分析

支持(0) 反对(0) Ven | 园豆:169 (初学一级) | 2012-11-21 17:05
0

把异常信息放出来看看

收获园豆:6
az235 | 园豆:8483 (大侠五级) | 2012-11-21 16:49

现在的异常记录程序还没记录到这个异常,还要在另外加一个具体的捕获

支持(0) 反对(0) Ven | 园豆:169 (初学一级) | 2012-11-21 17:06
0

杀毒软件 防火墙 程序代码问题 换个iis试下

收获园豆:6
王大湿 | 园豆:457 (菜鸟二级) | 2012-11-21 20:47

杀毒软件装的事360的那个,防火墙没开,只能先排查是不是程序本身的问题了,IIS倒是没换了试过,一只都用的事win server2008系统自带的版本

支持(0) 反对(0) Ven | 园豆:169 (初学一级) | 2012-11-21 21:00
0

最好是能够在数据库操作的地方加上一些try catch代码,看看是不是有什么可用的具体的错误信息。

会不会有datareader没有及时的dispose

收获园豆:6
chenping2008 | 园豆:9836 (大侠五级) | 2012-11-21 21:37

如果只close了没有dispose会不会有影响

支持(0) 反对(0) Ven | 园豆:169 (初学一级) | 2012-11-21 22:18

我之前把所有和数据库操作相关的代码都找出来看了一遍,除了使用using的,其他都是显示close的

支持(0) 反对(0) Ven | 园豆:169 (初学一级) | 2012-11-21 22:24
0

你是怎么解决的,我也碰到这个问题了

ewain | 园豆:202 (菜鸟二级) | 2014-04-24 18:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册