Konfigurieren der Netzwerkpaketgröße (Serverkonfigurationsoption)

Gilt für:SQL Server

In diesem Artikel wird beschrieben, wie die Serverkonfigurationsoption Netzwerkpaketgröße in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL konfiguriert wird. Mit der Option Netzwerkpaketgröße können Sie die Paketgröße (in Byte) festlegen, die innerhalb des gesamten Netzwerks verwendet wird. Pakete sind die Datenabschnitte fester Größe, die Anforderungen und Ergebnisse zwischen Clients und Servern übertragen. Die Standardpaketgröße beträgt 4.096 Bytes.

Hinweis

Sie sollten die Paketgröße nur dann ändern, wenn Sie sicher sind, dass die Leistung dadurch verbessert werden kann. Für die meisten Anwendungen empfiehlt sich die Standardpaketgröße.

Die Einstellung tritt ohne Neustarten des Servers sofort in Kraft.

Einschränkungen

  • Die maximale Netzwerkpaketgröße für verschlüsselte Verbindungen beträgt 16.383 Bytes.

Hinweis

Wenn MARS aktiviert ist, fügt der SMUX-Anbieter dem Paket vor der TLS-Verschlüsselung einen 16-Byte-Header hinzu, wodurch die maximale Netzwerkpaketgröße auf 16368 Bytes verringert wird.

Empfehlungen

  • Diese Option ist eine erweiterte Option und sollte ausschließlich von einem erfahrenen Datenbankadministrator oder einem zertifizierten SQL Server -Experten geändert werden.

  • Wenn eine Anwendung Massenkopiervorgänge ausführt oder große Mengen an Daten vom Typ text oder image sendet bzw. empfängt, kann eine über der Standardgröße liegende Paketgröße die Effizienz verbessern, da weniger Netzwerklesevorgänge und -schreibvorgänge ausgeführt werden. Sendet und empfängt eine Anwendung wenige Informationen, können Sie die Paketgröße auf 512 Bytes festlegen. Dies ist für die meisten Datenübertragungen ausreichend.

  • Bei Systemen, die verschiedene Netzwerkprotokolle verwenden, sollten Sie die Option „Netzwerkpaketgröße“ auf die Größe festlegen, die das am häufigsten verwendete Protokoll vorgibt. Wenn Netzwerkprotokolle größere Pakete unterstützen, kann durch Netzwerkpaketgröße die Netzwerkleistung verbessert werden. Clientanwendungen können diesen Wert überschreiben.

  • Sie können auch die Funktionen von OLE DB, ODBC (Open Database Connectivity) und der DB-Library aufrufen, um eine Änderung der Paketgröße anzufordern. Wenn der Server die angeforderte Paketgröße nicht unterstützt, sendet Datenbank-Engine eine Warnmeldung an den Client. Unter gewissen Umständen führt das Ändern der Paketgröße möglicherweise zu einem Kommunikationsverbindungsfehler, wie beispielsweise:

    Native Error: 233, no process is on the other end of the pipe.

Berechtigungen

Die Ausführungsberechtigungen für sp_configure ohne Parameter oder nur mit dem ersten Parameter werden standardmäßig allen Benutzern erteilt. Zum Ausführen von sp_configure mit beiden Parametern zum Ändern einer Konfigurationsoption oder zum Ausführen der RECONFIGURE-Anweisung muss einem Benutzer die ALTER SETTINGS-Berechtigung auf Serverebene erteilt worden sein. Die ALTER SETTINGS-Berechtigung ist in den festen Serverrollen sysadmin und serveradmin eingeschlossen.

Verwenden von SQL Server Management Studio

  1. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf einen Server, und wählen Sie Eigenschaften aus.

  2. Wählen Sie den Knoten Erweitert aus.

  3. Wählen Sie unter Netzwerkeinen Wert im Feld Netzwerkpaketgröße aus.

Verwenden von Transact-SQL

  1. Stellen Sie eine Verbindung mit dem Datenbank-Engineher.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. Kopieren Sie das folgende Beispiel in das Abfragefenster, und klicken Sie dann auf Ausführen. In diesem Beispiel wird gezeigt, wie sp_configure verwendet wird, um den Wert der Option network packet size auf 6500 Byte festzulegen.

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

Weitere Informationen finden Sie unter Serverkonfigurationsoptionen (SQL Server).

Konfigurieren der Netzwerkpaketgröße auf der Clientseite

Die folgende Tabelle enthält Beispiele für einige Datenverbindungstechnologien, die Sie verwenden können, um eine Verbindung mit SQL Server herzustellen, und wie Sie die Netzwerkpaketgröße steuern, wenn Sie diese in Clientanwendungen verwenden. Eine vollständige Liste der verschiedenen Datenverbindungstechnologien, die Sie zum Herstellen einer Verbindung mit SQL Server verwenden können, finden Sie auf der Homepage für die SQL-Clientprogrammierung:

Clientbibliothek Option Standard
ODBC SQL_ATTR_PACKET_SIZE Serverseitig verwenden
JDBC setPacketSize(int packetSize) 8.000
ADO.NET – Microsoft.Data.SqlClient PacketSize 8.000
ADO.NET – System.Data.SqlClient PacketSize 8.000
OLEDB SSPROP_INIT_PACKETSIZE 0 (serverseitig verwenden)

Sie können das Ereignis Audit Login oder das Ereignis ExistingConnection in SQL Profiler überwachen, um die Netzwerkpaketgröße einer Clientverbindung zu ermitteln.

Hinweis

Wenn die Verbindungszeichenfolge der Anwendung einen Wert für die Netzwerkpaketgröße enthält, wird dieser Wert für die Kommunikation verwendet. Wenn die Verbindungszeichenfolge keinen Wert enthält, verwenden die Treiber Standardwerte für die Netzwerkpaketgröße. Wie in der vorherigen Tabelle beschrieben, verwenden SqlClient-Anwendungen beispielsweise eine Standardpaketgröße von 8000, während ODBC-Anwendungen die Paketgröße verwenden, die auf dem Server konfiguriert ist.

Wichtig

Der SQL Server Native Client (häufig abgekürzt mit SNAC) wurde aus SQL Server 2022 (16.x) und SQL Server Management Studio 19 (SSMS) entfernt. Sowohl der OLE DB-Anbieter für den SQL Server Native Client (SQLNCLI oder SQLNCLI11) als auch der Microsoft OLE DB-Legacyanbieter für SQL Server (SQLOLEDB) werden für Neuentwicklungen nicht empfohlen. Verwenden Sie in Zukunft den neuen Microsoft OLE DB-Treiber für SQL Server (MSOLEDBSQL) oder den neuesten Microsoft ODBC Driver for SQL Server.

Siehe auch