Problem att tänka på när standardvärdet för nätverkspaketsstorlek ändras för SQL Server-anslutningar

Sammanfattning

Konfigurationsalternativet förnätverkspaketsstorlek i SQL Server används för att ange den paketstorlek (i byte) som ska användas vid kommunikation med SQL-server. Storleken kan anges både på serversidan och i vissa bibliotek på klientsidan. Standardpaketstorleken som anges av Microsoft SQL Server är 4 096 byte. I den här artikeln beskrivs några av de problem som du behöver vara medveten om när du ändrar den här inställningen.

Som vi har nämnt i följande anmärkning i avsnittet Böcker online om det här alternativet rekommenderar vi att du inte ändrar det här värdet såvida du inte är säker på att det kommer att förbättra prestanda.

Obs!

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

Storleken på nätverkspaket på serversidan kan konfigureras med hjälp av konfigurationsalternativ för nätverkspaket.

Mer information om hur du styr den här inställningen från ett klientnätsbibliotek finns i följande tabell:

Klientbibliotek

Alternativ

Standard

SQL native client

SSPROP_INIT_PACKETSIZE

0 (använd serversidan)

System.data.Sqlclient-http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring.aspx

PacketSize                         

8000

ODBC-http://msdn.microsoft.com/en-us/library/ms713605(VS.85).aspx

SQL_ATTR_PACKET_SIZE

Använd serversidan

SQLOLEDB-http://msdn.microsoft.com/en-us/library/aa198298(SQL.80).aspx

SSPROP_INIT_PACKETSIZE         

4096                      

JDBC-http://msdn.microsoft.com/en-us/library/ms378988(SQL.90).aspx

setPacketSize(int packetSize)

8000

Obs!Den aktuella dokumentationen för Sqlclient anger felaktigt standardpaketstorleken för Sqlclient-anslutningar som 8192. Detta kommer att korrigeras i en kommande uppdatering av Books Online.

Storleken på nätverkspaket för en klientanslutning kan fastställas genom att övervaka händelsen Granskningsinloggning eller ExistingConnection i SQL Profiler. Kolumnen Integer Data-data innehåller storleken på nätverkspaketet.

Mer information

De olika problem som du behöver vara medveten om när du ändrar storleken på nätverkspaket beskrivs nedan:

  • SSL- och TLS-begränsning: SSL (Secure Socket Layer) och dess ersättning, TLS (Transport Layer Security) begränsar datafragment till 16k i storlek. Detta beskrivs i den offentliga RFC 2246(avsnitt 6.2.2) och den aktuella implementeringen av SQL Network Interface -lagret (SNI) följer den här specifikationen. Användning av en nätverkspaketstorlek som är större än 16K stöds inte i dessa miljöer. Den här begränsningen påverkar följande scenarier:

    • SSIS-paket och datainsamlare: Mer information finns i följande KB-artikel:

      Obs! Om MARS är aktiverat lägger SMUX-providern till ett 16-bytehuvud i paketet före SSL-kryptering, vilket minskar den maximala storleken på nätverkspaketet till 16368 byte.

      2006769:Felmeddelandet för kommunikationslänksfel rapporteras för SSIS-paket på SQL-servrar som konfigurerats för att använda kryptering och en stor storlek på nätverkspaketet

  • SQL Server 2000- och 2005-miljöer: I följande KB-artikel finns mer information om ett känt problem i dessa miljöer

    • 903002Felmeddelandet "Det gick inte att reservera angränsande minne" kan loggas i SQL Server-felloggen när användare ansluter till en instans av SQL Server med hjälp av en nätverks paketstorlek som är större än 8 060 byte.

Behöver du mer hjälp?

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Microsoft Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×