Delen via


Serverconfiguratie: netwerkpakketgrootte

Van toepassing op:SQL Server

In dit artikel wordt beschreven hoe u de optie voor serverconfiguratie network packet size in SQL Server configureert met behulp van SQL Server Management Studio of Transact-SQL. Met network packet size de optie wordt de pakketgrootte (in bytes) ingesteld die in het hele netwerk wordt gebruikt. Pakketten zijn de segmenten met vaste grootte van gegevens die aanvragen en resultaten overdragen tussen clients en servers. De standaardgrootte van het pakket is 4096 bytes.

Opmerking

Wijzig de pakketgrootte alleen als u er zeker van bent dat de prestaties worden verbeterd. Voor de meeste toepassingen is de standaardpakketgrootte het beste.

De instelling wordt onmiddellijk van kracht zonder de server opnieuw op te starten.

Beperkingen

De maximale netwerkpakketgrootte voor versleutelde verbindingen is 16.383 bytes.

Opmerking

Als MARS is ingeschakeld, voegt de SMUX-provider vóór TLS-versleuteling een header van 16 byte toe aan het pakket, waardoor de maximale netwerkpakketgrootte wordt verkleind tot 16368 bytes.

Aanbevelingen

Deze optie is een geavanceerde optie en moet alleen worden gewijzigd door een ervaren databaseprofessional.

Als een toepassing bulksgewijs kopieerbewerkingen verricht of grote hoeveelheden tekst- of afbeeldingsgegevens ontvangt, kan een pakketgrootte die groter is dan de standaardinstelling, de efficiëntie verbeteren omdat dit leidt tot minder lees- en schrijfbewerkingen in het netwerk. Als een toepassing kleine hoeveelheden informatie verzendt en ontvangt, kan de pakketgrootte worden ingesteld op 512 bytes, wat voldoende is voor de meeste gegevensoverdrachten.

Stel op systemen die gebruikmaken van verschillende netwerkprotocollen de grootte van het netwerkpakket in op de grootte voor het meest gebruikte protocol. De optie voor netwerkpakketgrootte verbetert de netwerkprestaties wanneer netwerkprotocollen grotere pakketten ondersteunen. Clienttoepassingen kunnen deze waarde overschrijven.

U kunt ook OLE DB, Open Database Connectivity (ODBC) aanroepen en DB-Library functies een wijziging van de pakketgrootte aanvragen. Als de server de aangevraagde pakketgrootte niet kan ondersteunen, stuurt de database-engine een waarschuwingsbericht naar de client. In sommige gevallen kan het wijzigen van de pakketgrootte leiden tot een communicatiekoppelingsfout, zoals de volgende fout:

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

Permissions

Voer machtigingen sp_configure uit voor zonder parameters of met alleen de eerste parameter worden standaard aan alle gebruikers verleend. Om sp_configure met beide parameters uit te voeren om een configuratieoptie te wijzigen of de RECONFIGURE-instructie uit te voeren, moet aan een gebruiker de ALTER SETTINGS-machtiging op serverniveau worden verleend. De ALTER SETTINGS machtiging wordt impliciet bewaard door de vaste serverfuncties sysadmin en serveradmin .

SQL Server Management Studio gebruiken

  1. Klik in Objectverkenner met de rechtermuisknop op een server en selecteer Eigenschappen.

  2. Selecteer het geavanceerde knooppunt.

  3. Selecteer onder Netwerk een waarde voor het vak Netwerkpakketgrootte .

Gebruik Transact-SQL

  1. Maak verbinding met de database-engine.

  2. Selecteer Nieuwe query in de standaardbalk.

  3. Kopieer en plak het volgende voorbeeld in het queryvenster en selecteer uitvoeren. In dit voorbeeld ziet u hoe u sp_configure gebruikt om de waarde van de network packet size optie in te stellen op 6500 bytes.

    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
    

Zie Server-configuratieoptiesvoor meer informatie.

Netwerkpakketgrootte configureren aan de clientzijde

De volgende tabel bevat voorbeelden van enkele technologieën voor gegevensverbinding die u kunt gebruiken om verbinding te maken met SQL Server en hoe u de grootte van het netwerkpakket kunt beheren wanneer u deze gebruikt in clienttoepassingen. Zie Startpagina voor clientprogrammering met Microsoft SQL Server voor een volledige lijst met verschillende technologieën voor gegevensverbinding die u kunt gebruiken om verbinding te maken met SQL Server:

Clientbibliotheek Optie Verstek
SQLSetConnectAttr-functie SQL_ATTR_PACKET_SIZE Serverzijde gebruiken
De verbindingseigenschappen instellen setPacketSize(int packetSize) achtduizend
ADO.NET - Microsoft.Data.SqlClient PacketSize achtduizend
ADO.NET - System.Data.SqlClient PacketSize achtduizend
Initialisatie- en autorisatie-eigenschappen SSPROP_INIT_PACKETSIZE 0 (serverzijde gebruiken)

U kunt de auditaanmeldingsgebeurtenis of de gebeurtenis ExistingConnection in SQL Profiler controleren om de grootte van het netwerkpakket van een clientverbinding te bepalen.

Als de verbindingsreeks van de toepassing een waarde bevat voor de grootte van het netwerkpakket, wordt die waarde gebruikt voor communicatie. Als de verbindingsreeks geen waarde bevat, gebruiken de stuurprogramma's standaardwaarden voor de grootte van het netwerkpakket. Zoals beschreven in de vorige tabel gebruiken SqlClient-toepassingen bijvoorbeeld een standaardpakketgrootte van 8000, terwijl ODBC-toepassingen de pakketgrootte gebruiken die u op de server hebt geconfigureerd.

Belangrijk

De SQL Server Native Client (vaak afgekort SNAC) is verwijderd uit SQL Server 2022 (16.x) en SQL Server Management Studio 19 (SSMS). Zowel de SQL Server Native Client OLE DB-provider (SQLNCLI of SQLNCLI11) als de verouderde Microsoft OLE DB-provider voor SQL Server (SQLOLEDB) worden niet aanbevolen voor nieuwe ontwikkeling. Schakel over naar het nieuwe Microsoft OLE DB-stuurprogramma voor SQL Server of het nieuwste Microsoft ODBC-stuurprogramma voor SQL Server .