好学IT学院:IT信息技术分享交流平台
来源:互联网  作者:佚名  发布时间:2008-08-21  ★★★加入收藏〗〖手机版
摘要:一、SQL Server不存在或访问被拒绝分析:此问题最为复杂,由于错误发生的原因比较多,所以需要检查很多方面。一般情况下,有几种可能性:1.SQL Server名称或IP地址拼写有误。2.服务器端网络配置有误。3.客户端网络配置有误。要解……


三、提示连接超时

如果遇到第三个错误,一般而言表示客户端已经找到了这台服务器,并且可以进行连接,不过是由于连接的时间大于允许的时间而导致出错。

这种情况一般会发生在当用户在Internet上运行企业管理器来注册另外一台同样在Internet上的服务器, 并且是慢速连接时,有可能会导致以上的超时错误.有些情况下,由于局域网的网络问题,也会导致这样的错误。

要解决这样的错误,可以修改客户端的连接超时设置. 默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是4秒, 而查询分析器是15秒(这也是为什么在企业管理器里发生错误的可能性比较大的原因).

具体步骤为:

企业管理器中的设置:

1.在企业管理器中,选择菜单上的"工具",再选择"选项"

2.在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡

3.在"连接设置"下的"登录超时(秒)"右边的框中输入一个比较大的数字,如20.

查询分析器中的设置:

工具—选项—连接—将登录超时设置为一个较大的数字

四、大部分机都用Tcp/ip才能成功,有时你会发现用Named Pipes才可以?

这是由于在WINDOWS 2000以后的操作系统中,MS为解决SQL SERVER的安全问题将TCP/IP配置为SQL Server的默认连接协议,你可以在CLIENT NETWORK UTILITY中看到TCP/IP和NAME PIPE 的顺序。

也可以在:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib]

"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00

此处可以看到默认的协议。

问:怎么在程序中更改Named Pipes,Tcp/ip其sql语句怎么写?

答:可以在以上提到的注册表的相对位置来修改,示例如下:

·CLIENT端:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib]

"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00

·SERVER端:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib]

"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00