Things I've stumbled across:

  • connecting to a SQL Server database engine instance on a port can be done via hostname,1234 - in most cases you can't use hostname:port
  • You can use SQL client aliases to create an alias so "foo" can transparently redirect to hostname,1234
  • connecting to a SQL Server analysis server instance on a port can be done via hostname:2345 - hostname,port doesn't work in any cases I've found
  • SQL client aliases do nothing to help connecting to analysis services

thanks to the sql browser service, you can access named (and default) instances as a string like hostname\instance, and use the same string for both database engine instance and analysis server instance. 

You can't share the same string if you want to support direct port specifications, since 1) the format differs on how to specify port (,port vs :port) and 2) the database engine and the analysis services engine will be running on different ports (or different machines - well, at least 2 different IP's).