数据库的正常运行的重要性对于任何企业的重要性是不言而喻的。一旦出现问题,都要求在最短的时间排除故障,以免影响企业的业务运转。我公司主要业务是做IT服务外包,服务的中小企业将近300家。其实不管是侧重哪方面的技术,要想服务做得漂亮,客户满意度高,都离不开一套稳定、有效率的工具软件作为支撑,特别是在竞争如此激烈的今天。
我的工作重点偏重于数据库的运维支持。同时服务几十家客户的数据库服务器,多亏了易维帮助台(http://www.infocare.cn)远程协助功能,强大的远程支持以及服务事件管理,让你真正体验到什么是事半功倍。
易维帮助台充分考虑了服务过程中的若干应用需求,提供稳健、灵活的连接方式,搭配以实时准确的会话队列,让客户真正感受到技术专家就在身边。
最近远程解决了一起客户机无法连接SQL Server的故障,很有典型性,记录下来供童鞋们指正。
案例场景是这样的:客户是一家地区型连锁零售商,业务中配以一套C/S模式的进销存系统。企业人员在新增加的一台客户机在连接数据库服务器(SQL Server 2000)时——出于预算的考虑该企业一直没有升级数据库版本,出现故障提示SQL Server 不存在或拒绝访问”,系统无法登录。奇怪的是其它的客户机工作正常。于是通过易维帮助台向我寻求支持。
客户机已经安装了易维的客户端程序,我可以在易维帮助台的控制端直接发起远程连接,开始解决故障。
以我的经验,客户机连不上Server,首先是检查防火墙或是杀毒软件的阻拦1433端口。三下五除二,调整了windows防火墙设置并在卡巴斯基互联网安全套装中,在“网络设置”中添加了1433端口。再次发起连接,新的错误提示来了: “一般性网络错误 (recv())”。
很棘手的问题。排除了防火墙等方面的问题,这样的报错依然有如下可能:
l 网络问题
l 客户端程序问题
l 客户端配置问题
时间不允许去细细排查问题,最有效率的办法就是对照其他正常的SQL客户机的配置。易维帮助台的主动维护功能,真的很棒,我只需在控制台的主动维护中找到一台正常的客户机,建立连接,只要知道该客户端所在的windows帐号及密码就可以成功访问(如下图)。
对比后,找到了故障所在:原来,故障的客户机使用TCP/IP为优先启用的协议连接SQL Server,而正常的应该是选择为使用“Named pipes”为优先使用的协议,使用SQL Server的名称来连接。调整了配置后,客户机访问连接正常了。
排除故障后,还得找到发生故障的真正原因才行。按说使用TCP/IP是可以连接到Server的,除非是服务器上TCP/IP协议中没有打开监听1433端口。要知道,SQL Server 2000在SP4以前是默认关闭1433端口的,难道是SP4补丁安装出了问题?
询问后,方才得知,客户有个懂点技术的做过SP4的安装。但是他在安装SP4时没有停止服务器上的SQL Server服务,而SQL Server 2000 SP4明确要求安装时要停止服务器上的SQL Server服务和所有客户端程序后才能安装,所以SQL Server 2000 SP4根本没有安装成功。
工作时间服务器是不能停机的,我只好在午夜,用易维帮助台远程控制SQL Server服务器,先重启了系统,然后到注册表编辑器,将HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager分支,删除PendingFileRenameOperations项目。再重新安装SQL Server SP4成功。这样以后再有SQL客户机要连接Server即使用TCP/IP连接,也不会出现问题了。
解决问题就是要知其然还要知其所以然。
评论 {{userinfo.comments}}
{{child.content}}
{{question.question}}
提交