Why does server name need to be specified when accessing local instances?
Quite simply, client tools need to know explicitly which machine you're trying to connect to. This is like trying to access http://localhost/test_site by typing test_site into your browser.

For SQL Server you can indicate the local machine in a variety of ways:


machine_name\instance
(local)\instance
127.0.0.1\instance
.\instance