Reputation: 18175
I have two SQL Server services running on my server - MSSQLSERVER
and SQLEXPRESS
:
MSSQLSERVER
runs on static TCP portSQLEXPRESS
runs on dynamic TCP portI do connect from remote machine using Management Studio. I can connect to SQLEXPRESS
by entering server name- GM\SQLEXPRESS
.
I can connect to MSSQLSERVER
by entering server just PC name - GM
without instance name, but I can't connect using instance name GM\MSSQLSERVER
.
Why do I need to provide instance name for SQLEXPRESS
while I can't use it in MSSQLSERVER
case ?
Upvotes: 0
Views: 407
Reputation: 754200
MSSQLSERVER
is the default, unnamed instance - of which there can only be one on any machine, and since it's the default instance, you connect to it by using just the machine name (or .
, (local)
, or localhost
if it's running on your own machine).
That's just the way Microsoft designed and built it.
Any other instance you want must have a separate, distinct name - and in that case, you must use that instance name (together with the machine name) to connect to it - SQLEXPRESS
is just one example, you can name your instance anything you like (as long as it's a valid instance name and not MSSQLSERVER
:-)
Upvotes: 1