I have read one two three related threads but im not clear if SQL Server 2008 needs TCP/IP to make this work. Can it not accomplish with a pipe? I would prefer not to open up the machine to the internet just to test my development machine Win7 and the server WS2008R2 for testing model and ETL performance.

My app uses a connection string: Driver={SQL SERVER}; SERVER=myserver; Database=test; Uid=mike; Pwd=password;

but i get "dialog error" returned from ODBC (C++)

I found a nice tutorial on setting up TCP/IP but is this the answer?


OK well I began with this article which says: "The shared memory protocol cannot be enabled for remote connections." After enabling TCP/IP and VIA (whatever that is) I was instructed to restart the server.

Using Cinfiguration managere and then a restart, the service "SQL Server (MSSQLSERVER)" will not start....

Server log shows "THE SQL Server failed to intialize VIA support library ..indicates library does not exist"

Is VIA required as this article suggests?


No it isnt! Follow the instructions here and use the connection string above and you will be good. Sheesh what a pain. I wasted 12 hours on this simple stuff, so if you feel this question saved you that much time, please feel free vote it up.

  • You should really consider reviewing the OSI Model. No TCP/IP, no SQL ODBC connection. – kce Nov 23 '11 at 7:57
  • Disable VIA, you don't need it. – mrdenny Nov 23 '11 at 13:16

TCP/IP is required for you to use a TCP network to connect to a SQL Server. You do not have to use a network to connect to the server if you are connecting from the same machine. If you do use a network you do not have to use the Internet. Most modern networks use a protocol called IP - this includes the largest public network known as the Internet. TCP is a protocol build on top of IP that is used to provide additional features on top of IP which are very handy for doing things across a network - like connecting to a database.

TCP: http://en.wikipedia.org/wiki/Transmission_Control_Protocol Internet: http://en.wikipedia.org/wiki/Internet

  • Is there no clever way to use a pipe across the LAN? – Mike Trader Nov 23 '11 at 3:04
  • The server that SQL is installed on needs a transport protocol in order for you to connect to SQL using any SQL connection type. At the end of the day, SQL server is dependent on the transport protocol of the host OS, which today is TCP/IP in probably 99.9% of cases. – joeqwerty Nov 23 '11 at 3:12
  • @Ram: TCP and IP are independent yet interdependent components of the Internet Protocol Suite. TCP is not built on top of IP (although it sits one layer higher in the OSI Model than IP). TCP is concerned with transport (layer 4) and IP is concerned with routing (layer 3). – joeqwerty Nov 23 '11 at 3:27
  • @joeqwerty: fair enough... should've said TCP is a protocol used on top of IP... I did not mean to imply that IP is a base component but only that it typically underlies it. – Ram Nov 23 '11 at 3:39
  • No harm, no foul. I just wanted to clarify. – joeqwerty Nov 23 '11 at 3:46

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.