Anmerkung
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
In diesem Artikel wird beschrieben, wie die Serverkonfigurationsoption network packet size in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL konfiguriert wird. Die Option network packet size 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
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.
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 nur von einem erfahrenen Datenbankexperten 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 die Datenbank-Engine eine Warnmeldung an den Client. Unter gewissen Umständen führt das Ändern der Paketgröße möglicherweise zu einem Kommunikationsverbindungsfehler, wie etwa dem 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
Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf einen Server, und wählen Sie Eigenschaften aus.
Wählen Sie den Knoten Erweitert aus.
Wählen Sie unter Netzwerkeinen Wert im Feld Netzwerkpaketgröße aus.
Verwenden von Transact-SQL
Stellen Sie eine Verbindung mit dem Datenbank-Engineher.
Klicken Sie in der Standardleiste auf Neue Abfrage.
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 sizeauf6500Byte 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 in 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 vorherigen 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 OLE DB-Anbieter für 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 oder die neueste Version von Microsoft ODBC Driver for SQL Server.