一般登录用友财务软件时如果出现提示类似:SQL Server 不存在或访问被拒绝,的错误提示一般有以下三个方面的原因,大家可以参考下面的解决办法排查一下。
1,SQL Server名称或IP地址拼写有误
2,服务器端网络配置有误
3,数据库连接超时
第一种情况:SQL Server名称或IP地址拼写有误
A:服务器或者单机版提示“SQL Server 不存在或访问被拒绝”有两种可能。1)未安装SQL Server 数据库(右击“我的电脑”-“管理”-“服务和应用程序”-“服务”-找一下有没有“MSSQLSERVER”服务,并查看是否已经启动),如果未安装数据库那么需要先安装数据库。2)软件登录界面,服务器配置错误造成,打开软件登录界面,重新配置一下服务器的IP地址在服务器一行配置成 127.0.0.1
B:客户端提示“SQL Server 不存在或访问被拒绝”可能情况也是两种。1)物理网络影响,排查方法:点击“开始”-“运行”-“CMD”-进入DOS界面,输入ping 10.92.4.94 (注意,格式为 ping 服务器IP地址,此例中10.92.4.94 为服务器IP地址)
如上图所示,表示网络通畅,如果是下图所示表示物理网络环境存在问题,此时我们需要检查网络环境,避如网卡,网线等硬件环境影响。
这里我们还需要注意一种情况:某此防火墙软件可能会屏蔽对ping,telnet等的响应,比如ISA Server。所以我们在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口。2)类似第一种情况中所说的服务器IP地址填写错误,或者填写的是计算机名,而同一局域网中有其他的电脑也是相同的机器名,导致DNS解析错误,比如同一局域网中有两台电脑的计算机名都是CW,一台为10.92.4.94 另一台为 10.92.4.95,事实上我们的服务器是10.92.4.94,此时我们如果在软件登录界面配置的服务器如果是计算机名可能会出现DNS解析错误,导致提示:“SQL Server 不存在或访问被拒绝”(例如,DNS将CW解析到10.92.4.95,而10.92.4.95 电脑上根本没有安装数据库)。解决方案有两种,第一种是在第一种情况中所说的更改服务器这一行的IP地址,另外一种解决方案我们可以配置一下HOSTS文件,操作方法如下:打开“我的电脑”找到“C:\WINDOWS\system32\drivers\etc”下的HOSTS文件,右击,选择“打开方式”,选择“记事本”用记事本打开后,在127.0.0.1 localhost下面增加一行如:10.92.4.94 CW(注意,输入完IP后建议按TAB键,不要按空格。)保存即可。
第二种情况:服务器端网络配置有误
A:这种情况一般是由于服务器配置的TCP/IP端口号不是1433造成的,正常情况下可能会提示“1433端口不通”的错误提示,但不排除会提示“SQL Server 不存在或访问被拒绝”,针对这种情况大家可以参考一下之前写过的打开软件提示1433端口不通的问题分析大家可以点击链接参考一下。除了文章中提到的情况,我们再看另外一种判断1433端口的方法(此方法适合MSDE200简版数据库,由于简版数据库在开始菜单程序里没有对应的文件配置和查看开放1433端口是否开放):点击“开始”-“运行”-输入“cliconfg.exe”进入 SQL Server 客户端网络实用工具,里查看TCP/IP是否启用。
接下来,我们需要点中TCP/IP,点击属性,查看默认端口号是否是1433。
另外,我们还需要点击“开始”-“运行”-输入“svrnetcn.exe”进入SQL Server网络实用工具,点中TCP/IP,点击属性,查看默认端口号是否是1433。(PS:“隐藏服务器”,的意思是指客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接。所谓枚举服务器是在软件登录界面,点击服务器旁边的小方框后在计算机浏览里不会出现服务器的计算机名。)
B: SQL Server使用了“仅 Windows”的身份验证方式,因此用户无法使用SQL Server的登录帐户(如sa)进行连接。一般情况下提示:“无法连接到服务器,用户SA登陆失败”
SQL SERVER2000参照如下方法解决:点击:“开始”-“程序”-“Microsoft SQL Server”-“企业管理器”-展开“SQL Server组”,鼠标右键点击SQL Server服务器的名称,选择“属性”,再选择“安全性”选项卡,在“身份验证”下,选择“SQL Server和 Windows”。
MSDE简版数据库参照如下方法解决:点击:“开始”-“运行”-“regedit”进入注册表编辑器,依次展开注册表项,浏览到以下注册表键:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer],在屏幕右方找到名称“LoginMode”,双击编辑双字节值,在屏幕右方找到名称“LoginMode”,双击编辑双字节值,将原值从1改为2,点击“确定”,关闭注册表编辑器,重新启动SQL Server服务(先点“开始”-“运行”-输入“net stop mssqlserver”停止,再点“开始”-“运行”-输入“net start mssqlserver”)。
PS:键:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginMode]的值决定了SQL Server将采取何种身份验证模式。
1、1表示使用“Windows 身份验证”模式
2、2表示使用混合模式(Windows 身份验证和 SQL Server 身份验证)。
第三种情况:数据库提示连接超时
此种情况是由于连接的时间大于允许的时间而导致出错,一般出现数据库连接超时,只要对数据库进行设置就可以了。这种情况一般会发生在当用户在Internet上运行企业管理器来注册另外一台同样在Internet上的服务器,并且是慢速连接时,有可能会导致以上的超时错误。有些情况下,由于局域网的网络问题,也会导致这样的错误。(在局域网出现此种情况的概率较小)解决此问题可以参照下面的步骤:
点击:“开始”-“程序”-“Microsoft SQL Server”-“企业管理器”,在企业管理器中,选择菜单上的“工具”,再选择“选项”;在弹出的“SQL Server企业管理器属性”窗口中,点击“高级”选项卡;在“连接设置”下的“登录超时(秒)”右边的框中输入一个比较大的数字,如 20。
在查询分析器中设置的方法如下:点击:“开始”-“程序”-“Microsoft SQL Server”-“查询分析器”,依次点击“工具”-“选项”- “连接”将登录超时设置为一个较大的数字,连接超时改为0。