0

I am using VSTS 2008 + C# + ADO.Net + SQL Server 2008. My questions about what kinds of communication protocols SQL Server 2008 will be using, more details of my questions,

  1. If the connection string looks like this, whether Named Pipe or TCP/IP is used? Will different communication protocol being used dependent on whether client and SQL Server on the same machine?

    Data Source=labtest1;Initial Catalog=CustomerDB;Trusted_Connection=true;Asynchronous

  2. In SQL Server Configuration Manager, there are items called "SQL Server Network Configuration" and "SQL Native Client 10.0 Configuration". I find both of them has configuration options (for communication protocols) of Named Pipe or TCP/IP, what are the differences between "SQL Server Network Configuration" and "SQL Native Client 10.0 Configuration"?

thanks in advance, George

2 Answers 2

1

here you can do some reading on the Name Pipes protocol. This protocol uses far more traffic than TCP.

  1. Named Pipes will be used on local machine. TCP will be used for remote connections.

  2. SQL Server Network Configuration Manager allows you to modify settings for remote access to the SQL Server service. The SQL Native Client is a bundle of drivers. Find additional information here

5
  • For 2, my confusion is what exactly means native client? If I am developing a managed console application using ADO.Net to connect to SQL Server, is the managed console application native client?
    – George2
    Oct 19, 2009 at 16:55
  • 1
    No ~ The console app will not be a native client.
    – Saif Khan
    Oct 19, 2009 at 18:07
  • Thanks, what exactly means native client? Any documents for a brief description?
    – George2
    Oct 20, 2009 at 2:48
  • 1
    I edited my post with a link to what "Native Client" is.
    – Saif Khan
    Oct 20, 2009 at 16:50
  • 1
    Actually it was already in my post. Click on the last link where it says "Find additional information here..."
    – Saif Khan
    Oct 20, 2009 at 16:51
1

1# You haven't specified a network library in your connection string, then your connection will try to use shared memory From MSDN:

The corresponding network DLL must be installed on the system to which you connect. If you do not specify a network and you use a local server (for example, "." or "(local)"), shared memory is used.

2# SQL Native client is the driver library that you can use to connect to SQL Server. You can download this as a seperate component & is installed by default on the server, but this does not have any effect if you change these settings on the database server & the application is running on another server, such as an application server.

If you are using .net then the provider your using is most likely SQLClient and not SQL Native client, so the Native client settings have no affect, unless you modify your connection string & change the provider.

3
  • "but this does not have any effect if you change these settings on the database server & the application is running on another server" -- a little bit confused. Do you mean if I install SQL Server on machine A and configures client protocol on machine A, but I develop ADO.Net client on machine B, then the configuration settings for client protocol I made on machine A has on effect for ADO.Net client on machine B?
    – George2
    Oct 19, 2009 at 16:43
  • 1
    in terms of the 'native client' settings no. If you want to change the settings on machine B, you need to nodify the sql native client settings on machine B. I've edited my answer though, to point out that all this is irrelevant if your using .net as your using a different provider. Oct 19, 2009 at 20:27
  • Thanks Nick, then what exactly means native client? Any documents for a brief description?
    – George2
    Oct 20, 2009 at 2:49

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .