web-dev-qa-db-fra.com

SQL Server: devons-nous utiliser TCP ou canaux nommés ou utiliser la valeur par défaut?

Lors de la connexion à un serveur SQL Server 2008 R2 à partir d'une application cliente .NET 4 sur un serveur différent dans le même réseau local, on peut définir trois protocoles réseau différents:

  1. TCP
  2. Named Pipes
  3. Ne définissez rien dans la chaîne de connexion et utilisez la valeur par défaut

Quelle est la meilleure pratique? Que choisir?

Informations supplémentaires: Les deux TCP et canaux nommés sont activés à la fois sur le serveur et sur le client. L'application utilise la mise en miroir de bases de données. Le client et le serveur communiquent sur un réseau local rapide.

Nous étudions cela parce que nous avons des problèmes de connectivité et de temporisation rares et parasites. (Mais malgré cela, j'aimerais connaître les meilleures pratiques).

Il y a un article sur ce sujet sur MSDN mais il est très générique et vague. Il ne conseille ni ne recommande rien d'utile.

18
usr

Je préfère TCP/IP aux canaux nommés, même s'il n'y aura pas de différence notable dans la plupart des situations. Vous pouvez le faire en ajustant les protocoles pris en charge par l'instance dans SQL Server Configuration Manager plutôt qu'en codant en dur des éléments dans votre chaîne de connexion (cela facilite la modification ou le dépannage).

Essentiellement, le routage et les autres frais généraux impliqués dans les canaux nommés (sauf si vos applications sont sur la même machine que SQL Server, auquel cas il n'y a que peu de frais supplémentaires) en font l'option moins efficace, en particulier à grande échelle, dans un environnement réseau plus lent. (100 Mo ou moins), ou si vos charges de travail arrivent en rafales.

Si vos applications sont sur la même boîte que SQL Server, vous devez également garder à l'esprit la mémoire partagée - si vous avez des applications sur la boîte SQL Server communiquant directement avec SQL Server, ce sera l'option la plus efficace.

Vous pouvez lisez plus en détail les avantages de performances de TCP/IP .

18
Aaron Bertrand

Le protocole Named Pipes est utile pour l'application conçue autour de NetBIOS ou d'autres protocoles LAN.

Les canaux nommés offrent un accès facile aux appels de procédure distante (RPC) dans un seul domaine de sécurité et sont donc avantageux pour ces applications.

Habituellement TCP Le protocole est bon en pratique parce que vous n'avez pas à vous soucier de tout cela sur le réseau.

8
JP Chauhan