Freigeben über


Serverkonfiguration: Netzwerkpaketgröße

Gilt für: SQL Server

In diesem Artikel wird beschrieben, wie Sie die network packet size Serverkonfigurationsoption in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL konfigurieren. Die network packet size Option legt die Paketgröße (in Bytes) fest, die im gesamten Netzwerk 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

Ändern Sie die Paketgröße nur, wenn Sie sicher sind, dass sie die Leistung verbessert. Für die meisten Anwendungen empfiehlt sich die Standardpaketgröße.

Die Einstellung tritt ohne Neustarten des Servers sofort in Kraft.

Begrenzungen

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ützen kann, sendet die Datenbank-Engine eine Warnmeldung an den Client. Unter bestimmten Umständen kann das Ändern der Paketgröße zu einem Kommunikationslinkfehler führen, z. B. den folgenden Fehler:

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. Um sp_configure mit beiden Parametern auszuführen und eine Konfigurationsoption zu ändern oder die RECONFIGURE-Anweisung auszuführen, benötigt ein Benutzer die ALTER SETTINGS-Berechtigung auf Serverebene. Die ALTER SETTINGS-Berechtigung ist implizit in den festen Serverrollen sysadmin und serveradmin enthalten.

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 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
    

Weitere Informationen finden Sie unter Serverkonfigurationsoptionen.

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 Startseite für die Clientprogrammierung mit Microsoft SQL Server:

Clientbibliothek Option Standard
SQLSetConnectAttr-Funktion SQL_ATTR_PACKET_SIZE Serverseitig verwenden
Festlegen von Verbindungseigenschaften setPacketSize(int packetSize) 8.000
ADO.NET – Microsoft.Data.SqlClient PacketSize 8.000
ADO.NET – System.Data.SqlClient PacketSize 8.000
Initialisierungs- und Autorisierungseigenschaften 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.

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 vorstehenden Tabelle beschrieben, verwenden SqlClient-Anwendungen beispielsweise eine Standardpaketgröße von 8000, während ODBC-Anwendungen die Paketgröße verwenden, die Sie auf dem Server konfiguriert haben.

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 SQL Server Native Client OLE DB-Anbieter (SQLNCLI oder SQLNCLI11) als auch der ältere Microsoft OLE DB-Anbieter für SQL Server (SQLOLEDB) werden nicht für die neue Entwicklung empfohlen. Wechseln Sie in Zukunft zum neuen Microsoft OLE DB-Treiber für SQL Server oder zum neuesten Microsoft ODBC-Treiber für SQL Server.