The objective of this post is to list down procedure for testing named pipes when a workstation client application has problems connecting to SQL Server, the question first asked is, "How do I determine if this is a problem with my network software, or if this is a problem with SQL Server?" The following instructions explain how to test the network and local named pipes to help isolate network software problems...
Testing network named pipes
There are two utilities shipped with SQL Server designed to help test network named pipes. The MakePipe.exe and ReadPipe.exe utilities are installed during installation of both the client and server components. There are different versions of these utilities for the different operating systems on which they run: MakePipe.exe runs on Microsoft Windows NT, ReadpPipe.exe runs on Windows NT, Microsoft Windows, and MS-DOS. Be sure to use the correct version for the operating system that you are testing. (The version that runs on Windows is named Readpipe.exe. If the SQL Server tools are installed, ReadPipe.exe is located in the \Mssql\Binn directory; no icon is created for it.)
The MakePipe.exe and ReadPipe.exe utilities are not installed by SQL Server 2000 Setup. They can be found in the x:\x86\Binn directory on the SQL Server 2000 compact disc.
Used together, these utilities test the integrity of the network named pipe services. To use these utilities, perform the following steps:
1) Go to the SQL Server database server, and type makepipe at the DOS command-line prompt. The Makepipe program will return:Making PIPE:\pipe\abc read to write delay (seconds):0 Waiting for Client to Connect...
2) Go to the DOS command-line prompt and type
readpipe /Sservername /Dstring
where servername is the network name of the SQL Server on which Makepipe was just run, and string is a test character string. This string must be enclosed in quotation marks if it contains spaces. Note that there are no spaces between /S and the server name, and no spaces between /D and the string. For example, to connect to a SQL Server named "data", type either of the following:
readpipe /Sdata /Dhello
readpipe /Sdata /D"hello there"
3) If a network named pipe connection can be established, the workstation returns
SvrName:\\data PIPE :\\data\pipe\abc DATA :hello Data Sent: 1 : hello Data Read: 1 : hello
and the SQL Server returns:Waiting for client to send... 1 Data Read: hello Waiting for client to send... 2 Pipe closed Waiting for Client to Connect...
The server is now waiting for another client to connect, and the Readpipe program can be run from other workstations. When all testing is complete, go to the screen where the Makepipe program is still running and press CTRL+BREAK or CTRL+C to halt execution. If the results are different from step 3 above, the network named pipe services are not established. Clients will not be able to connect to SQL Server until named pipes are available. In addition, these utilities merely attempt to open and use a named pipe. They do not stress this named pipe connection. Thus, although these tests may succeed, the network connection may break under a heavy load.
Testing Local Named Pipes
One last test is to connect to the SQL Server on the server machine using local pipes. The following will make a local ISQL connection to the SQL Server when run at the DOS command-line prompt on the database server machine:
isql /S /Ulogin /Ppassword
Also:
osql /Snp:\\.\pipe\MSSQL$DLO\sql\query
In Query Analyser:
np:.
np:(local)
np:BigSQL1
Sometimes even above steps are not helping, then re-install SQL Server and you can see Named Pipes starts working perfectly :)
No comments:
Post a Comment
Please do not spam!