解决SQL Server连接中最为常见的错误(3)

http://www.itjxue.com  2015-07-17 09:24  来源:未知  点击次数: 

三.提示连接超时

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

这种情况一般会发生在当用户在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

(责任编辑:IT教学网)

更多

推荐SQL Server文章