首页 > 范文大全 > 正文

浅谈SQL Server 2005常见连接故障与解决办法

开篇:润墨网以专业的文秘视角,为您筛选了一篇浅谈SQL Server 2005常见连接故障与解决办法范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:连接错误是用户使用sql server时遇到最多的故障,该文主要讨论了故障的产生原因和解决办法。

关键词:SQL Server 连接 故障

引言

Microsoft SQL Server 2005是微软推出的大型数据库系统软件。它功能强大,使用方便,工作效率高,但在程序开发,系统平台升级或数据库迁移过程中,常常会遇到数据库连接失败的错误。SQL出错反馈信息比较单一,调试信息不充足,令初学者感到比较棘手。下面针对该问题谈谈在SQL Server 2005和Windows默认软件情况下诊断及解决故障的方法。

一、客户端与服务器连接故障

“SQL server 不存在或访问被拒绝”是客户端与服务器最常见也是情况最复杂的错误。通常表现为,运行后连不上,程序长时间无响应,等待一段时间后弹出错误对话框。在故障判断时,我们遵循先确认客户机与服务器连通,再确认服务器数据库引擎启动,最后确认开启远程服务及端口的排查原则。

1.1检查客户端与服务器的物理连接是否正常

连接故障是最容易解决也是最容易让人忽略的问题。两机联通是相互访问的基础,当出现故障时应首先确定物理连接正常建立,且两机通讯正常。

1、观察屏幕右下角是否有“网络电缆被拔出”字样或带红叉的电脑图标,观察网卡插口灯是否正常闪动,确认物理链路正常。

2、确保服务器与客户端DNS解析地址正常,或两者在一个网段(网络设备互联)

3、使用ping 的方法确认数据包畅通。如果ping返回“超时”信息,此时应检查网络互连设备,如交换机,路由器是否工作正常。当然,防火墙软件也有可能屏蔽ping响应,所以建议在检测时暂时把防火墙关闭。

如果ping IP地址成功而 ping服务器名称失败,则说明域名解析有问题,需要检测DNS工作是否正常或者将服务器名称对应的IP地址写入HOSTS文件,如192.168.1.100 MyDbServer

1.2确认数据库引擎已正常启动

打开控制面板管理工具中,在服务中找到SQL Server,确认其状态为已启动。或者在SQL配置管理器中确认服务SQL Server(MSSQLSERVER)状态为正在运行(绿色箭头)。一般情况下,SQL服务都是正常开启的。如果发现关闭,那么很可能是被系统加速软件“优化”了。请开启它,如果启动失败,请查看相关依赖服务是否被关闭。

1.3确认开启远程服务及端口

客户端连接服务器是通过管道端口实现的。但出于安全考虑,默认情况下SQL Server的网络连接服务是关闭的。所以多数数据库连接故障通常都是这个原因。

1.3.1开启 TCP/IP协议及端口

打开“SQL configuration Manager”在“SQL Server2005网络配置”协议中启用“Named pipes”及“ TCP/IP”并设置 TCP/IP端口为1433(SQL的默认监听端口),最后重启SQL服务器。

1.3.2端口工作状态验证

设置完毕后可以使用netstat /an命令来查看端口当前状态。服务正常开启后列表内有TCP 0.0.0.0 1433 listening的项目。

用户可以使用服务器management studio连接127.0.0.1(本机回环地址)来验证工作状态。如果可以连接上,说明以上服务已经正确开启。

当然也可以通过在服务器上运行命令来检查SQL server服务器工作状态。

telnet 1433

如果服务器正常工作,可以看到光标在左上角闪动,表示客户机通过1433端口与服务器建立了 TCP/IP 连接;如果出现“无法打开连接”的错误提示,说明端口1433未开启或服务器未启用 TCP/IP 协议。

如果都设置好了并测试正常,但客户机始终无法连接客户机,则数据包很有可能被防火墙阻断了,请将SQL Server和1433端口加入防火墙例外中。

经过以上一系列步骤的检查,基本上可以解决大多数的SQL server 不存在或访问被拒绝的问题。

二、用户登陆错误

用户登陆错误,通常是在客户机已正常连接到服务器的情况下才返回的错误。通常表现为运行后瞬间跳出对话框提示错误,提示信息一般为某用户登录失败无授权等。用户登录失败的问题一般是由于用户登录未开启或用户名口令不合法造成的。

2.1用户登录未开启

错误提示为“用户sa登陆失败,该用户与可信SQL Server连接无关联”。该错误因sa账户设置错误或用户验证模式不正确造成的。

2.1.1启用sa账户

sa是默认的系统管理员(system administrator)用户,拥有数据库最高系统权限,出于数据库安全考虑,默认情况下是禁用登录的。用户一般可以选择对应于单独数据库的独立账户登录,如果确实要使用sa帐户进行连接的,只需在数据库实例的“安全性”登录名中启用sa账户并设置密码。“授予”允许连接到数据库引擎和启用“登录”两个选项。

2.1.2开启SQL Server身份验证

“与用户与可信SQL连接无关联”的原因是SQL Server服务器身份验证模式使用了“仅 Windows身份验证模式”,这是一种使用操作系统本地用户直接登录的认证方法,和数据库内置账户无关联,因此用户通过内置账户sa连接会出错。要解决这个问题只要数据库实例“安全性”选项中开启“SQL Server和Windows 身份验证模式”,最后重新启动SQL服务即可。

2.2、用户密码不合法

不合法是因为用户密码错误或用户对数据库无权限造成的。此类问题可以在工作表的“安全性”菜单中对具体用户增加权限,同样也用高权限用户在工作表上的别名映射解决。

三、结束语

以上介绍了在使用SQL Server 2005中的一些常见连接故障和解决思路。但在实际查错过程中,某些故障可能是由于计算机软件配置,参数或其他因素造成的,因此还需具体问题具体分析,综合全面的分析,解决问题。

参考文献

[1]陈伟.SQL Server 2005数据库应用与开发教程[M].北京:清华大学出版社,2007.

[2]马威.信息系统开发教程一一使用C#和SQL Server2005[M].北京:清华大学出版社,2007.

[3]程云志.数据库原理与SQL Server2005应用教程[M].北京:机械工业出版社,2006

[4]Robin Dewson. Beginning SQL Server 2005[M].北京:人民邮电出版社,2006