3

I have an installation of SQL Server 2012 Std Ed on Windows 2012 R2 running in a default instance, and an app that wants to connect to it using a named instance (can't be changed)

E.g.

  • ServerName - mySQLServer
  • Alias required by app - mySQLServer\CrazyApp

I've tried to create an alias as follows:

enter image description here

  • Alias Name - .\crazyapp
  • Port No - 1433
  • Protocol - TCP/IP
  • Server .

I've:

  • checked TCP/IP protocol is enabled
  • have started SQL browser (not needed, I believe)
  • restarted SQL (several times)
  • tried with the machine name instead of "."
  • tried with no port number instead of 1433.
  • banged head against wall

...all to no avail.

Is it possible to do this, if so, would some kind person tell me what I'm doing wrong.

Thanks!

migrated from superuser.com Nov 6 '15 at 12:56

This question came from our site for computer enthusiasts and power users.

  • This question might get better answers on either Server Fault or Database Administrators. Flag it for moderator attention if you want it migrated to either site. (Do not simply repost it elsewhere.) – a CVn Nov 5 '15 at 19:27
  • The app runs on the same server with SQL Server? – ypercubeᵀᴹ Nov 6 '15 at 13:01
  • This is a supported configuration. What error messages have you been getting? – SQLmojoe Nov 6 '15 at 16:46
  • Have you tried creating both 32bit and 64bit versions of the alias either by using SQL config manager or using cliconfg.exe in C:\Windows\System32\cliconfg.exe (64bit) and C:\Windows\SysWOW64\cliconfg.exe (32bit)? I have seen some apps that are 64 bit but some part of the app layer uses 32bit. – DaniSQL Nov 6 '15 at 17:07
  • @ypercube - the app runs on another server. Since I'm not changing the machine name, I presumed no changes to DNS were required. However, you did cause me to rethink what I was doing - I've used cliconfig on the application server and I can now connect to the remote SQL server. – Stu Nov 6 '15 at 21:14
8

My observation is it is necessary to use cliconfg.exe on the application server in order for it to map a specific instance (e.g. '\crazyapp') to the default instance on the remote SQL server.

On the application server, I have set aliases using cliconfg.exe, using both:

  • C:\Windows\System32\cliconfg.exe (64bit) and
  • C:\Windows\SysWOW64\cliconfg.exe (32bit) (thanks, @DaniSQL)

From the application server, I have configured: alias settings

I then successfully tested this from the application server, using SSMS to the remote SQL instance.

Creating the alias on the server hosting SQL Server does not work, even if the application server can resolve the SQL Server name via DNS. In order to map from a named instance to a default instance, the alias must be created on the application server.

Thanks to @ypercube for guiding me in the right direction.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.