Dela via


Serverkonfiguration: storlek på nätverkspaket

Gäller för:SQL Server

Den här artikeln beskriver hur du konfigurerar serverkonfigurationsalternativet network packet size i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL. Alternativet network packet size anger paketstorleken (i byte) som används i hela nätverket. Paket är datasegment med fast storlek som överför begäranden och resultat mellan klienter och servrar. Standardpaketstorleken är 4 096 byte.

Anmärkning

Ändra inte paketstorleken om du inte är säker på att det förbättrar prestandan. För de flesta program är standardpaketstorleken bäst.

Inställningen börjar gälla omedelbart utan att servern startas om.

Begränsningar

Den maximala nätverkspaketstorleken för krypterade anslutningar är 16 383 byte.

Anmärkning

Om MARS är aktiverat lägger SMUX-providern till ett 16-byteshuvud i paketet före TLS-kryptering, vilket minskar den maximala nätverkspaketstorleken till 16368 byte.

Recommendations

Det här alternativet är ett avancerat alternativ och bör endast ändras av en erfaren databasproffs.

Om ett program utför masskopieringsåtgärder eller skickar eller tar emot stora mängder text- eller bilddata kan en paketstorlek som är större än standardvärdet förbättra effektiviteten eftersom det resulterar i färre läs- och skrivåtgärder i nätverket. Om ett program skickar och tar emot små mängder information kan paketstorleken anges till 512 byte, vilket räcker för de flesta dataöverföringar.

På system som använder olika nätverksprotokoll anger du storleken på nätverkspaketen till storleken för det vanligaste protokollet som används. Alternativet storlek på nätverkspaket förbättrar nätverksprestanda när nätverksprotokoll stöder större paket. Klientprogram kan åsidosätta det här värdet.

Du kan också anropa OLE DB, Open Database Connectivity (ODBC) och DB-Library funktioner begär en ändring av paketstorleken. Om servern inte stöder den begärda paketstorleken skickar databasmotorn ett varningsmeddelande till klienten. I vissa fall kan en ändring av paketstorleken leda till ett kommunikationslänkfel, till exempel följande fel:

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

Permissions

Kör behörigheter på sp_configure utan parametrar eller med endast den första parametern beviljas alla användare som standard. Om du vill köra sp_configure med båda parametrarna för att ändra ett konfigurationsalternativ eller för att köra -instruktionen RECONFIGURE måste en användare beviljas behörighet på ALTER SETTINGS servernivå. Behörigheten ALTER SETTINGS innehas implicit av de fasta serverrollerna sysadmin och serveradmin .

Använda SQL Server Management Studio

  1. Högerklicka på en server i Object Explorer och välj Egenskaper.

  2. Välj noden Avancerat .

  3. Under Nätverk väljer du ett värde för rutan Storlek på nätverkspaket .

Använd Transact-SQL

  1. Anslut till databasmotorn.

  2. I standardfältet väljer du Ny fråga.

  3. Kopiera och klistra in följande exempel i frågefönstret och välj Kör. Det här exemplet visar hur du använder sp_configure för att ange värdet för network packet size alternativet till 6500 byte.

    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
    

Mer information finns i Server-konfigurationsalternativ.

Konfigurera storleken på nätverkspaket på klientsidan

Följande tabell innehåller exempel på vissa dataanslutningstekniker som du kan använda för att ansluta till SQL Server och hur du styr nätverkspaketstorleken när du använder dessa i klientprogram. En fullständig lista över olika dataanslutningstekniker som du kan använda för att ansluta till SQL Server finns på startsidan för klientprogrammering till Microsoft SQL Server:

Klientbibliotek Option Förinställning
SQLSetConnectAttr-funktion SQL_ATTR_PACKET_SIZE Använda serversidan
Ange anslutningsegenskaper setPacketSize(int packetSize) 8 000
ADO.NET – Microsoft.Data.SqlClient PacketSize 8 000
ADO.NET – System.Data.SqlClient PacketSize 8 000
Initierings- och auktoriseringsegenskaper SSPROP_INIT_PACKETSIZE 0 (använd serversidan)

Du kan övervaka händelsen Granskningsinloggning eller Händelsen ExistingConnection i SQL Profiler för att fastställa nätverkspaketstorleken för en klientanslutning.

Om programmets anslutningssträng innehåller ett värde för nätverkspaketstorleken används det värdet för kommunikation. Om anslutningssträngen inte innehåller något värde använder drivrutinerna standardvärden för nätverkspaketstorleken. Som beskrivs i föregående tabell använder till exempel SqlClient-program en standardpaketstorlek på 8 000, medan ODBC-program använder den paketstorlek som du har konfigurerat på servern.

Viktigt!

Den interna SQL Server-klienten (ofta förkortad SNAC) har tagits bort från SQL Server 2022 (16.x) och SQL Server Management Studio 19 (SSMS). Både SQL Server Native Client OLE DB-providern (SQLNCLI eller SQLNCLI11) och den äldre Microsoft OLE DB-providern för SQL Server (SQLOLEDB) rekommenderas inte för ny utveckling. Växla till den nya Microsoft OLE DB-drivrutinen för SQL Server eller den senaste Microsoft ODBC-drivrutinen för SQL Server framöver.