- SQL backend, SSRS server: SQL 2008 SP1
- SQL backend is behind the firewall with only specific DB port open (port used by SQL browser is not open…hence the need to specify specific port)
- RS service login has DB Creator and Security Admin privileges
During initial configuring SSRS (in creating RS database) we kept getting (during ‘generating Rights script’ step)
System.Net.Sockets.SocketException: No such host is known
at System.Net.Dns.GetAddrInfo(String name)
at System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6)
at System.Net.Dns.GetHostEntry(String hostNameOrAddress)
at ReportServicesConfigUI.RSDatabase.IsLocalDbServer(String dbServer)
RS database does get created but is in incomplete state.
Per http://blogs.msdn.com/psssql/archive/2009/03/05/socketexception-when-creating-a-new-report-server-database.aspx specifying port will not work.
This has been verified (that it does not work) by using SQL alias (which references port) as well as specifying it within “server name,port\SQL Instance” name format (for e.g. SQL_Server,1234\SQL_Instance…port used by SQL instance is 1234)
Using without port references works (for e.g. SQL_Server\SQL_Instance format)…but for this to work,SQL Browser service needs to be enabled and UDP 1434 port needs to be opened through the firewall (if one exists)
Using format SQL_Server\SQL_Instance format works as long as SQL Browser service is running and in case of firewall the SQL Browser port is open (which is not always the case)
Btw, little more digging we did find a workaround….
It seems if you use a connection format like “ServerName\InstanceName,Port”, then SSRS Configuration manager is able to connect without requiring the SQL Browser service.
Without SQL Browser service running (either shutdown or blocked behind the firewall), SSRS Configuration Manager still does not work with “ServerName,Port\InstanceName” format or via SQL Aliases.