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:
- TCP
- Named Pipes
- 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: TCP et les 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 LAN 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.
tcp:
configuré dans le cadre de la plupart des chaînes de connexion dans l'environnement d'une entreprise différente des années plus tard. Je suppose qu'ils ont trouvé des problèmes similaires.Réponses:
Je préfère TCP / IP aux canaux nommés, même si dans la plupart des situations il n'y aura pas de différence notable. 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 se trouvent 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 se présentent 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 en savoir plus sur les avantages de performances de TCP / IP .
la source
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, le protocole TCP est bon dans la pratique car vous n'avez pas à vous soucier de tout cela sur le réseau.
la source