Best Practice - SQL Server Connection String - Localhost versus Network Path

Experts,

I have a "Best Practice" question for you.  I am developing an ASP.NET website with C# code behind that connects to my SQL Server 2008 database.  Both the SQL Server and the web site are hosted on the same server.

My question is this: what is the better practice when constructing the Database Connection String in the ASP.NET site?  Should I use "localhost" when referring to the SQL Server, or should I use the fully qualified network path?

Is there any difference in the way the physical server handles the data request from the ASP.NET code if it's going to localhost versus the network path?  If I use the network path, is the server smart enough to know that the request is directed to itself, and not route the request out the TCP/IP port, to the switch, and back to the TCP/IP port?  If I use localhost, does the request get routed directly within the server without traveling to itself over the network?  The advantage for me when using the fully qualified network path is that the code works on both the server, and on my development PC.  However, I don't want needless traffic going out over the network if it doesn't have to on the production server.

Thoughts?

Thanks!

John
John ParkerService Quality ManagerAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Dave BaldwinFixer of ProblemsCommented:
'localhost' does not get routed over the network.  Generally the recommendation is to use 'localhost' when you don't need remote access and of course, kill or turn off any remote access in the SQL Server configuration.  That will 'improve' security by limiting access.

If you use the FQDN, the request will go thru the network for resolution even if it is for the local machine.  Only you would know if these things are actually important.  If the traffic is low and the network is not accessible by the 'outside world', then it doesn't matter much.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
John ParkerService Quality ManagerAuthor Commented:
Awesome!  Exactly what I was looking for.  Sounds like it will be cleaner, safer, and better on my network to update my connection strings to use local host when deploying the site to the server.  Thanks!
0
Dave BaldwinFixer of ProblemsCommented:
You're welcome, glad to help.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
ASP.NET

From novice to tech pro — start learning today.