Condividi tramite


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篇)