Configuration du serveur : taille du paquet réseau
S'applique à : SQL Server
Cet article explique comment configurer l’option de configuration du network packet size
serveur dans SQL Server à l’aide de SQL Server Management Studio ou de Transact-SQL. L’option network packet size
définit la taille de paquet (en octets) utilisée sur l’ensemble du réseau. Les paquets constituent les morceaux de taille définie de données qui transfèrent les requêtes et les résultats entre les clients et les serveurs. La taille des paquets par défaut est 4 096 octets.
Remarque
Ne modifiez pas la taille du paquet, sauf si vous êtes certain qu’elle améliore les performances. Pour la plupart des applications, la taille de paquet par défaut représente la meilleure solution.
Le paramètre prend effet immédiatement sans redémarrage du serveur.
Limites
La taille de paquet réseau maximale pour les connexions chiffrées est 16 383 octets.
Notes
Si MARS est activé, le fournisseur SMUX ajoute un en-tête de 16 octets au paquet avant le chiffrement TLS, ce qui réduit la taille maximale du paquet réseau à 16368 octets.
Recommandations
Seul un administrateur de base de données qualifié ou un spécialiste agréé doit changer cette option avancée SQL Server.
Si une application effectue des opérations de copie en bloc, ou envoie ou reçoit de grandes quantités de données de type texte ou image, l'utilisation d'une taille de paquet supérieure à la taille par défaut peut améliorer les performances car elle permet de réduire les opérations de lecture et d'écriture sur le réseau. Si une application envoie et reçoit de petites quantités d'informations, la taille de paquets peut être définie à 512 octets, ce qui est suffisant pour la plupart des transferts de données.
Pour des systèmes utilisant différents protocoles réseau, attribuez à l’option network packet size la taille adaptée au protocole le plus utilisé. L'option network packet size permet d'accroître les performances lorsque les protocoles réseau prennent en charge les paquets de grande taille. Les applications clientes peuvent remplacer cette valeur.
Vous pouvez également appeler les fonctions OLE DB, ODBC (Open Database Connectivity ) et DB-Library pour demander une modification de la taille des paquets. Si le serveur ne peut pas prendre en charge la taille de paquet demandée, le Moteur de base de données envoie un message d’avertissement au client. Dans certains cas, la modification de la taille du paquet peut entraîner un échec de lien de communication, par exemple l’erreur suivante :
Native Error: 233, no process is on the other end of the pipe.
autorisations
Les autorisations d’exécution de sp_configure
, sans paramètre ou avec le premier paramètre uniquement, sont accordées par défaut à tous les utilisateurs. Pour exécuter sp_configure
avec les deux paramètres afin de modifier une option de configuration ou pour exécuter l’instruction RECONFIGURE
, un utilisateur doit disposer de l’autorisation ALTER SETTINGS
au niveau du serveur. L’autorisation ALTER SETTINGS
est implicitement détenue par les rôles serveur fixes sysadmin et serveradmin.
Utiliser SQL Server Management Studio
Dans l’Explorateur d’objets, cliquez avec le bouton droit sur un serveur et sélectionnez Propriétés.
Cliquez sur le nœud Avancé.
Sous Réseau, sélectionnez une valeur pour la zone Taille du paquet réseau .
Utiliser Transact-SQL
Connectez-vous au Moteur de base de données.
Dans la barre d’outils standard, sélectionnez Nouvelle requête.
Copiez et collez l’exemple suivant dans la fenêtre de requête, puis sélectionnez Exécuter. Cet exemple montre comment utiliser sp_configure pour attribuer à l’option
network packet size
la valeur6500
octets.USE master; GO EXECUTE sp_configure 'show advanced options', 1; GO RECONFIGURE; GO EXECUTE sp_configure 'network packet size', 6500; GO RECONFIGURE; GO EXECUTE sp_configure 'show advanced options', 0; GO RECONFIGURE; GO
Pour plus d’informations, consultez l’article Options de configuration du serveur.
Configuration de la taille des paquets réseau côté client
Le tableau suivant donne des exemples de technologies de connexion de données permettant de se connecter à SQL Server. Il indique également comment contrôler la taille des paquets réseau lorsqu’ils sont utilisés dans des applications clientes. Pour obtenir la liste complète des différentes technologies de connexion de données que vous pouvez utiliser pour vous connecter à SQL Server, consultez la page d’accueil de la programmation cliente vers Microsoft SQL Server :
Bibliothèque cliente | Option | Par défaut |
---|---|---|
SQLSetConnectAttr, fonction | SQL_ATTR_PACKET_SIZE |
À utiliser côté serveur |
Définition des propriétés de connexion | setPacketSize(int packetSize) |
8000 |
ADO.NET – Microsoft.Data.SqlClient | PacketSize |
8000 |
ADO.NET – System.Data.SqlClient | PacketSize |
8000 |
Propriétés d’initialisation et d’autorisation | SSPROP_INIT_PACKETSIZE |
0 (à utiliser côté serveur) |
Vous pouvez surveiller l’événement Audit Login ou l’événement ExistingConnection dans SQL Profiler pour déterminer la taille des paquets réseau d’une connexion cliente.
Si la chaîne de connexion de l’application contient une valeur de taille de paquet réseau, cette valeur est utilisée pour la communication. Dans le cas contraire, les pilotes se servent des valeurs par défaut de taille de paquet réseau. Par exemple, comme décrit dans le tableau précédent, les applications SqlClient utilisent une taille de paquet par défaut de 8 000, tandis que les applications ODBC utilisent la taille de paquet que vous avez configurée sur le serveur.
Important
SQL Server Native Client (souvent abrégé en SNAC) a été supprimé dans SQL Server 2022 (16.x) et SQL Server Management Studio 19 (SSMS). Le fournisseur OLE DB SQL Server Native Client (SQLNCLI ou SQLNCLI11) et le fournisseur Microsoft OLE DB hérité pour SQL Server (SQLOLEDB) ne sont pas recommandés pour le nouveau développement. Basculez vers la nouvelle Microsoft OLE DB Driver pour SQL Server ou la dernière version de Microsoft ODBC Driver pour SQL Server à l’avenir.