乐者为王

Do one thing, and do it well.

使用SQL Server 2000个人版出现的问题

下午在机房值班,14:00的时候有人报告说交易客户端不能登录了,确定问题后两同事急忙重启AR和AS以及交易网关,可是还是不能登录。紧急重启数据库后问题才解决。

出了问题不可怕,关键是找到问题根源所在,解决问题,使同样的错误不再重复地发生。

打电话联系恒生的工程师,向他们提供系统的日志文件,希望他们那边能提供帮助,找到原因。我也在这边分析系统的事件和日志文件,想找出到底是在哪里出的问题。分析着从SQL Server的LOG目录下找到的几个ERRORLOG文件,发现从13:57开始有连续多条如下的警告语句出现:

1
SQL Server已为8个并发查询而优化。36个查询超过了此限制,因而性能可能会受到不良影响。

很快,恒生工程师也打电话来说可能是查询数据库过多导致的问题。这个我们一开始就想过,但关键是那时候只连接进来了400个左右的客户,怎么可能查询过多呢?而且平时也没出现过这种情况。

在网上搜索资料后知道出现这个问题通常是数据库版本的原因,检查我们的SQL Server数据库,发现竟然是2000个人版。后来又从交易结算部们了解到他们因为要做报表执行了查询所有客户资料的操作,并且我们的备份数据库在几个星期前曾因损坏做过恢复,恢复的同事忘记修改备份数据库的时间,导致本应该执行在备份数据库上的查询执行在了主数据库上,引起了数据库崩溃。

再次联系恒生的工程师,准备这个周末切换数据库到企业版。唉,又要加班了!

Comments