SQL Server 连接问题圣经-命名管道 (3)
五。 命名管道连接问题的解决步骤
好了,介绍到这里你应该对命名管道很不陌生了,也应该是时候讨论命名管道连接问题的解决步骤了:
步骤1:使用服务器端网络实用工具检查命名管道配置并确认SQL
Server已经监听了命名管道协议。
步骤2:使用客户端网络实用工具检查客户端的连接协议配置,确保启用了命名管道。当然,客户端连接的缺省管道名称需要和SQL服务器监听的一致。另外,需要仔细查看是不是存在错误的SQL Server 别名。
步骤3:检查网络连通性。例如要确保不但能够ping通
SQL Server服务器的IP地址,也
能够ping 通SQL Server服务器的名称。
步骤4:检查客户端是否能够通过SQL
Server 服务器的Windows认证。可以使用如下命令进行:
net view \\servername
net
use \\servername\IPC$
如果这两条命令出错,则表明有访问SQL Server服务器权限上的问题。需要扫除了这些问题之后再去解决命名管道连接的问题。
步骤 5:确保客户端登录(login)帐号有权限访问SQL
Server。为了简化问题,排除Windows认证问题的干扰,在作这一类问题分析时,如果SQL
Server配置了SQL Authentication,建议还是使用一个SQL
Server帐号。等SQL Server帐号能连通以后,再使用Windows帐号。
如果上述五个步骤还不能解决命名管道的连接问题,那么你可以使用下面介绍的实用工具来测试命名管道。
六。测试命名管道连接的实用工具
SQL
Server安装盘带有测试网络命名管道服务完整性的实用工具makepipe和readpipe。 这两个小工具需要一起使用。可在SQL Server 2000 光盘上的
x:\x86\Binn 目录下找到该实用工具。使用方法如下:
1)在服务器的操作系统命令提示符处键入:
Makepipe /pmytestpipe
注意/p和后面的pipename不能有空格
这将创建命名管道 \\.\pipe\mytestpipe。
运行该命令后返回信息如下:
Making PIPE:\\.\pipe\mytestpipe
read to write delay (seconds):0
Waiting for Client to Connect...
Waiting for client to send... 1
Data Read:
Hello world
(参考图10)
(图10:使用makepipe实用工具)
2)在客户端工作站的操作系统命令提示符处键入:
readpipe /Smyserver /D“Hello
world” /pmytestpipe
其中 “ Hello world” 是测试字符串。如果字符串包含空格,则必须括在双引号内。 /S 与服务器名称之间无空格, /D
与字符串之间无空格 /p与pipename之间不能有空格
如果命名管道连接可以建立,则客户端工作站分别返回以下信息:
SvrName:\\myserver
PIPE :\\myserver\pipe\mytestpipe
DATA :Hello
world
Data Sent: 1 :Hello world
Data Read: 1 :Hello world
(参考图11)
(图11:使用readpipe实用工具)
如果readpipe和makepipe工具无法连通,说明网络命名管道服务不可用。这时候就需要先检查网络连通性问题或访问Windows的权限问题。
(共4篇,第3篇)