Configurer network packet size (option de configuration de serveur)

S’applique à :SQL Server

Cet article explique comment paramétrer l’option de configuration de serveur network packet size 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 tout le 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.

Notes

Ne modifiez la taille des paquets que si vous avez la certitude que cela permettra d’accroître 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.

Limitations et restrictions

  • 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 prend pas 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 des paquets peut entraîner un échec de la liaison de communication, tel que :

    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 d’exécuter l’instruction RECONFIGURE, un utilisateur doit disposer de l’autorisation de niveau serveur ALTER SETTINGS. L'autorisation ALTER SETTINGS est implicitement détenue par les rôles serveur fixes sysadmin et serveradmin .

Utiliser SQL Server Management Studio

  1. Dans l’Explorateur d’objets, cliquez avec le bouton droit sur un serveur et sélectionnez Propriétés.

  2. Cliquez sur le nœud Avancé.

  3. Sous Réseau, sélectionnez une valeur pour la zone Taille du paquet réseau .

Utiliser Transact-SQL

  1. Connectez-vous au Moteur de base de données.

  2. Dans la barre d’outils standard, sélectionnez Nouvelle requête.

  3. 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 valeur 6500 octets.

USE AdventureWorks2022;
GO
EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXEC sp_configure 'network packet size', 6500;
GO
RECONFIGURE;
GO

Pour plus d’informations, consultez Options de configuration de serveur (SQL Server).

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 connaître la liste complète des différentes technologies de connexion de données que vous pouvez utiliser pour vous connecter à SQL Server, consultez Page d’accueil de la programmation client SQL :

Bibliothèque cliente Option Default
ODBC SQL_ATTR_PACKET_SIZE À utiliser côté serveur
JDBC setPacketSize(int packetSize) 8000
ADO.NET – Microsoft.Data.SqlClient PacketSize 8000
ADO.NET – System.Data.SqlClient PacketSize 8000
OLEDB 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.

Notes

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, les applications SqlClient optent pour une taille de 8 000 (la taille par défaut des paquets), tandis que les applications ODBC utilisent la taille de paquet configurée sur le serveur (cf. tableau précédent).

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 pour SQL Server Native Client (SQLNCLI ou SQLNCLI11) et le fournisseur Microsoft OLE DB hérité pour SQL Server (SQLOLEDB) ne sont pas recommandés dans les nouveaux développements. Passez au nouveau Microsoft OLE DB Driver pour SQL Server (MSOLEDBSQL) ou au dernier Microsoft ODBC Driver for SQL Server.

Voir aussi