views:

453

answers:

3

I am trying to connect to a biztalk instance over the network, and not being all that successful. The SQL server with the biztalk databases on it has named pipes disabled. When I try to connect to the server that has biztalk installed, it gives a named pipes error. When I try to connect to the database server, it just times out and gives an error that covers virtually every scenario under the sun (basically it can't connect and it doesn't know why)

If I try to connect with SQL Server Management Studio it works. If I try to make a dsn, it works. If I try to go through biztalk, it dies. If I try to go through biztalk with the tcp: prefix, it dies. If I force named pipes on the other two, it dies.

Is there any way from the Connect to existing group dialog to force using TCP/IP as the transport?

+1  A: 

To force tcp , try "tcp:servername" (or "tcp:servername\instancename,port") This can be done without setting an alias or default protocol with SQL tools

There are alternatives to why you may get the error though:

  • The named pipes error can be misleading, It usually just means "can't find server"
  • firewalls etc are blocking access to either the SQL instance
  • ... or SQL listener port 1434 thats enumerates instance/ports
gbn
So here is the deal. If I try to connect with SQL Server Management studio it works. If I try to make a dsn, it works. If I try to go through biztalk, it dies. If I try to go through biztalk with the tcp: prefix, it dies. If I force anything through named pipes, it dies.
Matt Briggs
Biztalk server is not the database server? Biztalk server OS
gbn
Can you remote onto the biztalk box and see if this server can connect to the using SQL tools/DSN?
gbn
biztalk is running fine, and able to connect to the db. both boxes are on 2k3
Matt Briggs
Sorry I can't suggest any more: it's been som time since i worked with biztalk...
gbn
+1  A: 

do you get any error messages in system or application log?

you may need to check some of the shapes - ports etc as there may be

http://www.biztalkserverguide.com/2008/02/04/biztalk-server-throwing-named-pipes-error-40-could-not-open-a-connection-to-sql-server/

declared a variable called btsConnString (string), this varable was not set to the connection string, it was blank ( by mistake), things were working as expected without issue. On the Stage As the btsConnString wasn’t assigned a connection string, it was throwing the error

Also look at MSDTC issues for connection DTC Test is here http://support.microsoft.com/kb/293799 and if you can install on both servers use DTCPing

also look at theseThe majority of Microsoft SQL Server issues that affect Microsoft BizTalk Server 2006 fall into one of the following categories:

I can connect successfully on other machines, and there is nothing in the server logs. That btsConnString looked promising, but I have no idea where that variable is supposed to be set.
Matt Briggs
+1  A: 

I believe I had something similar fairly recently - BizTalk would try to connect to the SQL box using named pipes for some obscure reason, which would time out. We've using the registry (HKLM\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib) to force it to try TCP first (and last, and we haven't specified any other protocol) and it seemed to do the trick.

See details here

Yossi Dahan
I had alot of hope for this one, no dice though :( good key to know about at any rate
Matt Briggs
shame. you have rebooted after setting it, right? ;-)
Yossi Dahan
sure did. same behavior
Matt Briggs
If it helps at all, before changing the registry key, when setting up a new SQL ODBC User DSN, in the 2nd screen of the wizard we've clicked on the Client Configuration button we could see the named pipes network library was the default one selected after we changed - tcp was the default selected
Yossi Dahan