Welcome to the SQL Server Protocols blog site
Ever get a GNE? Ever wonder why SQL Discovery doesn't seem to be consistent? Ever get trapped by Window's firewall? Confused about VIA? Then, this is the blog site for you to watch.
This blog is run by the SQL Server protocols component team. This is the team responsible for the networking in SQL Server. This includes Discovery (SSRP), TDS, SOAP, transports like TCP, Named Pipes, and VIA. In this blog we hope to proactively answer many of the recurring issues that we see our customers running into. We should be able to tell you how to do some of the more subtle configurations and how to diagnose issues you're running into more efficiently (We've added TONS of diagnostics in SQL Server 2005). We'll show you how to use them.
Thanks and hopefully you'll find this useful!
The SQL Server Protocols team
Disclaimer: This posting is provided "AS IS" with no warranties, and confers no rights
Comments
Anonymous
October 11, 2005
This is cool! Anyone who has ever had to wrestle connectivity issues with SQL 2000 should watch this site!Anonymous
December 14, 2005
I am trying to connect to the SQL Server Integration Services on my
back end 2005 database server through SQL Management Studio. When I try
to connect I am receiving the following errors:
TITLE: Connect to Server
------------------------------
Cannot connect to server.
------------------------------
ADDITIONAL INFORMATION:
Failed to retrieve data for this request. (Microsoft.SqlServer.SmoEnum)
For help, click:
http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=2...
------------------------------
The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)
(Microsoft.SqlServer.DTSRuntimeWrap)
------------------------------
The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)
(Microsoft.SqlServer.DTSRuntimeWrap)
The server resides in a different subnet and it's behind a firewall. I
have verified that a station running SQL Management Studio in the same
subnet can connect to the Integration Services on the server in
question without incident.
I have worked with our firewall administrator and we have opened up the
recommended ports to no avail. We have even gone so far to remove all
rules for my IP address to that destination server.
Is there anyone that has seen this before? Any advice would be greatly
appreciated. Thanks in advance,
Drew Flint
afli@plex.com
System Administrator
Plexus SystemsAnonymous
March 09, 2006
Me too have the similar problem, i am trying to connect to the sql server instance from reporting services configuration tool, and my web server is out side the firewall and my DB server is inside. Please help regarding this.
Thanks,
Goud.Anonymous
March 09, 2006
In both of your cases the server is remote from the client.
So in this case, the first thing to do is figure out the target server name, it's IP address, and the port number for the SQL instance.
Then a simple basic test is try telnet to target ip and port from client. For example:
telnet 123.123.123.123 1433
If you get failure here like below, then your problem is very likely a firewall issue:
C:>telnet 157.55.120.141 1433
Connecting To 157.55.120.141...Could not open connection to the host, on port 1433: Connect failed
If this fails, then go to the SQL server machine and try the same thing locally. If it works locally and not remotely, then it's a firewall issue.
If telnet connects remotely, then it is not a firewall issue, but some other problem, for example it could be a SQL port resolution issue. SQL will attempt to resolve the port of a named instance using the UDP port 1434, this port could be blocked.
You can work around this UDP 1434 port blocking issue by modifying your connection string to include the correct target port.
So for example when prompted for the server name instead of entering:
servername
Use this syntax:
tcp:servername,5555
This will give a hint to the driver to tell it what port to use and what protocol to try, this is a common technique we use to check if we can connect without UDP 1434 open. You can also use this technique if your admin is reluctant to open UDP 1434 port.Anonymous
March 23, 2006
I have the same "RPC server is unavailable" error. I can connect to the server for Analysis Services and Database Engine, just not SSIS ........ What's going on ?Anonymous
March 24, 2006
Regarding SSIS remote connection - please see
http://sqljunkies.com/WebLog/knight_reign/archive/2006/01/05/17769.aspxAnonymous
March 24, 2006
Also, if you have firewall, you need to configure it. SSIS is using DCOM protocol, see Books Online Topic "How to: Configure a Windows Firewall for Integration Services Access", also at
http://msdn2.microsoft.com/en-us/library/ms141198.aspx
http://msdn2.microsoft.com/en-us/library/ms137861(SQL.90).aspx
(the URLs may change).Anonymous
July 25, 2006
I have diffrent case.. where i connect ssis through server.. but it give the message
any idea?
===================================
Cannot connect to server.
===================================
Failed to retrieve data for this request. (Microsoft.SqlServer.SmoEnum)
------------------------------
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476
------------------------------
Program Location:
at Microsoft.SqlServer.Management.Smo.Enumerator.Process(Object connectionInfo, Request request)
at Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.ObjectExplorer.ValidateConnection(UIConnectionInfo ci, IServerType server)
at Microsoft.SqlServer.Management.UI.ConnectionDlg.Connector.ConnectionThreadUser()
===================================
Connect to SSIS Service on machine "server" failed:
Error loading type library/DLL.
.
------------------------------
Program Location:
at Microsoft.SqlServer.Dts.Runtime.Application.GetServerInfo(String server, String& serverVersion)
at Microsoft.SqlServer.Dts.SmoEnum.DTSEnum.GetData(EnumResult erParent)
at Microsoft.SqlServer.Management.Smo.Environment.GetData()
at Microsoft.SqlServer.Management.Smo.Environment.GetData(Request req, Object ci)
at Microsoft.SqlServer.Management.Smo.Enumerator.GetData(Object connectionInfo, Request request)
at Microsoft.SqlServer.Management.Smo.Enumerator.Process(Object connectionInfo, Request request)
===================================
Connect to SSIS Service on machine "server" failed:
Error loading type library/DLL.
.
------------------------------
Program Location:
at Microsoft.SqlServer.Dts.Runtime.Wrapper.ApplicationClass.GetServerInfo(String bstrMachineName, String& serverVersion)
at Microsoft.SqlServer.Dts.Runtime.Application.GetServerInfo(String server, String& serverVersion)
Failed to retrieve data for this request. (Microsoft.SqlServer.SmoEnum)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476
------------------------------
Connect to SSIS Service on machine "server" failed:
Error loading type library/DLL.
.
------------------------------
Connect to SSIS Service on machine "server" failed:
Error loading type library/DLL.
.
------------------------------
BUTTONS:
OK
------------------------------Anonymous
August 07, 2006
The comment has been removedAnonymous
September 04, 2006
The comment has been removedAnonymous
September 05, 2006
The comment has been removedAnonymous
September 05, 2006
I looked for the process with process explorer; it doesn't exist. I also tried out their TCPVCON tool and sure enough the port is open, but no process is listening on the other end.
C:Documents and SettingsDanW>netstat -ano | findstr 1434
UDP 0.0.0.0:1434 : 5948
C:>tcpvcon -a 5948
TCPView v2.34 - TCP/UDP endpoint lister
Copyright (C) 1998-2003 Mark Russinovich
Sysinternals - www.sysinternals.com
[UDP] <non-existent>
PID: 5948
Local: usseadb14:ms-sql-m
Remote: :
[UDP] <non-existent>
PID: 5948
Local: usseadb14:2215
Remote: :
Does anyone know how to close a port when the process that opened the port no longer exists?Anonymous
February 11, 2007
Hi, I am facing the TimeOut Expired issue. As given, I tried "telnet 123.123.123.123 1433" after replacing the IP address and I get an error 'Connect failed' when tried remotely and 'Connection to host lost' when tried locally on the server. What do I need to do? Everything was working fine until last week. Regards, Satish.Anonymous
February 11, 2007
Hi, I am facing the TimeOut Expired issue. As given, I tried "telnet 123.123.123.123 1433" after replacing the IP address and I get an error 'Connect failed' when tried remotely and 'Connection to host lost' when tried locally on the server. What do I need to do? Everything was working fine until last week. Regards, Satish.Anonymous
February 13, 2007
I am having problems with connecting to an SQL server via telnet. I was getting the connection failed, but resolved that by adding port to TCP in SQL server config. However now the connection just times out without asking for user name or password. It does this locally and remotely.Anonymous
February 13, 2007
HI, James Can you more specific about your problem? Can you answer questions by following the guidline? http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=87&SiteID=1 Good Luck! Ming.Anonymous
February 14, 2007
Server side
- SQL Server 2005
- Express
- TCPIP
- Yes Server starts successfully
- Not sure
- Local System
- Trying to connect internally. Not going through the firewall. I am using a remote management software that uses SQL Express. I can't see or get to the connection string and I can't get it to work. I have two servers, one backup server, one web server. I am tring to connect to the SQL on the backup server from the web server. The vendor of the software asked if I could telnet to the backup server on port 1433. I tried this and the connection failed at first. I added the tcp port to the SQL on the backup server and also enabled telnet on the backup server. Now when I try to telnet to the backup server from the web server all it does it sit there for a couple of minutes and then comes back to the commend prompt.
Anonymous
February 14, 2007
First of all, you should immediately un-install Telnet Service. You don't need the Telnet service to connect to SQL Server. A running TelNet service is a security concern so please un-install it now. One way to test if you can connect to SQL Server is to use the telnet client tool from a command prompt. If you get the blank screen when telnetting to port 1433, then you have proven that there is no firewall blocking port 1433. Note to exit the blank telnet screen, press Ctrl and the ] key and this will break you out to a Microsoft Telnet prompt, then enter q to quit. It took me forever to figure this one out. So if you can telnet to port 1433 like so: telnet MySQLServer 1433 And you get the blank screen, then your firewall is open and you are connecting to SQL and hopefully things will start working.Anonymous
March 20, 2007
I have the 'The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)' while configre report server to a remote database server. report server on a stand alone 2003 server with sql 2005. database on a instance of a clusted node, also 2003 server with sql 2005. RPC enabled on both servers. name pipes and tcp/ip enabled, remote access enabled, no firewall. I can see the remote database through the reporting configureation tool but failed at the step:create a grant right script with the following error message: System.Runtime.InteropServices.COMException (0x800706BA): The RPC server is unavailable. (Exception from HRESULT: 0x800706BA) at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo) at System.Management.ManagementScope.InitializeGuts(Object o) at System.Management.ManagementScope.Initialize() at System.Management.ManagementObjectSearcher.Initialize() at System.Management.ManagementObjectSearcher.Get() at Microsoft.ReportingServices.Diagnostics.WebUtil.GetIPAddresses(String machine) at ReportServicesConfigUI.Panels.DatabaseSetupPanel.IsLocalDbServer(String dbServer) at ReportServicesConfigUI.Panels.DatabaseSetupPanel.SetDatabaseConnectionTask(String connectionString, String server, String database, ConfigurationCredentialsType credsType, String account, String password, Boolean upgrade, String dbVersion) any suggestion is welcome! Thanks HongAnonymous
March 20, 2007
I have the 'The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)' while configre report server to a remote database server. report server on a stand alone 2003 server with sql 2005. database on a instance of a clusted node, also 2003 server with sql 2005. RPC enabled on both servers. name pipes and tcp/ip enabled, remote access enabled, no firewall. I can see the remote database through the reporting configureation tool but failed at the step:create a grant right script with the following error message: System.Runtime.InteropServices.COMException (0x800706BA): The RPC server is unavailable. (Exception from HRESULT: 0x800706BA) at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo) at System.Management.ManagementScope.InitializeGuts(Object o) at System.Management.ManagementScope.Initialize() at System.Management.ManagementObjectSearcher.Initialize() at System.Management.ManagementObjectSearcher.Get() at Microsoft.ReportingServices.Diagnostics.WebUtil.GetIPAddresses(String machine) at ReportServicesConfigUI.Panels.DatabaseSetupPanel.IsLocalDbServer(String dbServer) at ReportServicesConfigUI.Panels.DatabaseSetupPanel.SetDatabaseConnectionTask(String connectionString, String server, String database, ConfigurationCredentialsType credsType, String account, String password, Boolean upgrade, String dbVersion) any suggestion is welcome! Thanks HongAnonymous
March 26, 2007
I'll see if I can find someone from reporting services to look at this. In the meanwhile, could you post your question to this newsgroup? http://www.microsoft.com/technet/community/newsgroups/dgbrowser/en-us/default.mspx?dg=microsoft.public.sqlserver.reportingsvcs I think you will get better results there.Anonymous
March 26, 2007
Hi, Hong The error you saw might be one of many reasons, please take a look at
- http://support.microsoft.com/default.aspx?scid=kb;en-us;Q224370 2)Try telnet <servername> 135 3)http://msdn2.microsoft.com/en-us/library/ms159272.aspx 4)Whether your machine configured Third-Party Firewall that block the traffic? Good Luck! Ming.
Anonymous
March 28, 2007
Rather interesting issue. SQL Server 2000 does not listen on TCP/IP. Logs report only listening on Named Pipes. Both Named Pipes and TCP/IP are enabled. Both machines (client and server) are VMWare. Telnet on port 3389 works fine (testing network connectivity) but not on 1433. Tried disabling and re-enabling TCP/IP without success. Unable to telnet on 127.0.0.1 port 1433 on SQL server locally. Kind RegardsAnonymous
August 09, 2007
Why can't I find anything that explains what I need to do to make this work!! ARGH! We don't want to use named pipes. I can turn on TCP/IP only, but not sure how reporting services will know to connect. Any help would be very nice. :)Anonymous
December 13, 2007
Travich I had problem with Connecting to SQL DataBase through SQL Management Studio. The reason why a can't connect to sql database was that sql server used another port number then SQL Management Studio. Check this post : http://www.windows-consulting.net/windows-how_to-problems_connecting_to_sql_database_through_sql_management_studio.htm Maybe this change help You too. Best regardsAnonymous
February 19, 2008
Here's my situation. I have a server (not clustered) with SQL Server 2000 installed on the default instance and SQL Server 2005 on a named instance. It seems that SSIS was installed on the default instance since SSIS does not support named instance. I am now getting en error when i am trying to say import a package to MSDB or connect to MSDB... here's the error message: Failed to retrieve data for the request.(Microsoft.SqlServer.SmoEnum) Additional Information: The SQL server specified in SSIS service configuration is not present or is not available. This might occur where there is no default instance of SQL Server on the computer... Does our setup will definitely cause this problem? Looking forward to hearing from the forum. Thanks, LhotAnonymous
March 31, 2008
I am not able to telnet localhost on 1433....... only thing i can guess is i have a firewall.....please let me know how do i figure out if i have a firewall or not......and how can I put it off... thanks meetaAnonymous
June 01, 2008
Both client and server resides in the same machine. Am unable to connect to my own machine (server is installed in my machine) Below is the error output. TITLE: Connect to Server
Cannot connect to HDBLDBSSP3593.
ADDITIONAL INFORMATION: Failed to retrieve data for this request. (Microsoft.SqlServer.SmoEnum) For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476
Connect to SSIS Service on machine "HDBLDBSSP3593" failed: Access is denied. .
Connect to SSIS Service on machine "HDBLDBSSP3593" failed: Access is denied. .
BUTTONS: OK
Regards, Venkatesan Prabu . J venkatesanj@hcl.in
Anonymous
September 16, 2008
I ma trying to connect to my local sql server using telnet by below command: C:>telnet local 1433 and getting below error message: Connecting To localhost...Could not open connection to the host, on port 1433: Connect failedAnonymous
September 17, 2008
Telnet does not recognize "local". You should use "localhost". For SQL, you can use "localhost" or "(local)". Thanks, XinweiAnonymous
September 23, 2008
We have the following situation: Win2008 server running SQL2005 and Hyper-v Win2003 server (virtual machine) running SQL2005 Win2008 server (virtual machine) running SQL2008 Vista Notebook running SQLExpress 2008 Vista Notebook rnning SQL2005 Vista Notebook running SQLExpress 2005 No firewalls anywhere, all SQLs on port 1433, telnet can access port 1433 on all servers, DCOM is properly configured on all machines to allow local and remote access to everyone (dangerous but only temporary for testing purposes), all computers in the same domain. We are developing a commercial application that uses SQL server, and trying to enumerate all the SQL servers on the network. All the servers (6 machines) are correctly found by the SqlDataSourceEnumerator GetDataSources function. We then try to get the correct version, service pack etc by a call to WMI for each machine. Results are: Win2008 server OK Win2003 server HRESULT: 0x800706BA Win2008 server HRESULT: 0x800706BA Vista Notebook where the program executes OK Vista Notebook HRESULT: 0x800706BA Vista Notebook HRESULT: 0x800706BA Can you help? We are at our wits end...Anonymous
October 29, 2008
Error trying to connect to SSIS from a client outside a firewall. Connection to DB Engine works fine from outside firewall. Currently have Port 135 open for SSIS. The connections from within the firewall all work fine. Receiving the following error. Cannot connect to <Server> Additional information Failed to retrieve data for this request(Microsoft.SqlServer.SmoEnum) The RPC server is unavailable.(Exception from HRESULT:0x800706BA)....Anonymous
November 18, 2008
Hi, I am not able to telnet to SQL Server on port 1433 remotely. I can telnet locally using telnet localhost 1433. When I replace localhost with the IP address in the above command (locally) again telnet fails.Anonymous
November 20, 2008
mcsevishwa: It sounds like you need to take a look at our connectivity blog entry: http://blogs.msdn.com/sql_protocols/archive/2008/04/30/steps-to-troubleshoot-connectivity-issues.aspx One thing you might quickly try is to temporarily disable your firewall. If that works then simply look at step 3 to see what you need to unblock in your firewall to allow traffic in. If temporarily disabling your firewall doesn't work, go through the entire post and see if anything helps. Good luck.Anonymous
March 11, 2009
to resolve the issue install SQL 2000 SP4.Anonymous
April 20, 2009
The comment has been removedAnonymous
October 22, 2009
Hi, I am having a problem connecting from a desktop Management Studio to a SQL Server 2005 Integration Service. I believe my problem is with our firewall. I have gotten the connection to work following the steps on http://support.microsoft.com/kb/940232 on our development environment but in our production environment that is behind the firewall it fails. According to our network engineer it looks like is trying to use two ports; one static port 135 and then a second port that is dynamic. We have open port 135 but it is still failing. Is there a way to make the second port static? Both server and client are running with sql 2005 sp 3 Here is the error message: TITLE: Connect to Server Cannot connect to p01sql2k5. ADDITIONAL INFORMATION: Failed to retrieve data for this request. (Microsoft.SqlServer.SmoEnum) For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476 The RPC server is unavailable. (Exception from HRESULT: 0x800706BA) (Microsoft.SqlServer.DTSRuntimeWrap) The RPC server is unavailable. (Exception from HRESULT: 0x800706BA) (Microsoft.SqlServer.DTSRuntimeWrap) Thank you, Miguel Ramirez miguel.ramirez@pcbancorp.comAnonymous
October 31, 2009
I Have created dll using SMO which contains 3 functions that wil give the dbname and relative data file path and logfile path. this works in all versions except windows2008sql2008(cluster).what is wrong in windows2008 cluster i did not get.it is working perfectly in Win2003sql2008 cluster.But in win2008sql2008 cluster it success discovering the databases in 2 out of 6 attempts on average only.i dont know why it happen's I am trying to access the dll(is created using c#)from c++.Anonymous
May 30, 2011
I was experiencing the RPC Unavailable error since installing SQL Server 2008, and still experienced it after upgrading to 2008 R2. I was getting the error when trying to connect to Reporting Services via SSMS from my local PC. The error occurred on the test server but not the production server. All configuration settings for SQL Server matched for both servers and all required services were running. The error was finally isolated to a Windows Firewall Inbound Rule setting: The "Windows Management Instrumentation (WMI-In)" rule was enabled in production but not test. Enabling it in test resolved the error and allowed me to connect from my PC to Reporting Services.