Sdílet prostřednictvím


Konfigurace serveru: Velikost síťového paketu

platí pro:SQL Server

Tento článek popisuje, jak nakonfigurovat network packet size možnost konfigurace serveru v SQL Serveru pomocí aplikace SQL Server Management Studio nebo Transact-SQL. Možnost network packet size nastaví velikost paketu (v bajtech), která se používá v celé síti. Pakety jsou bloky dat s pevnou velikostí, které přenášejí požadavky a výsledky mezi klienty a servery. Výchozí velikost paketů je 4 096 bajtů.

Poznámka:

Velikost paketu neměňte, pokud si nejste jistí, že zlepší výkon. Pro většinu aplikací je nejlepší výchozí velikost paketu.

Nastavení se projeví okamžitě bez restartování serveru.

Omezení

Maximální velikost síťového paketu pro šifrovaná připojení je 16 383 bajtů.

Poznámka:

Pokud je mars povolený, zprostředkovatel SMUX před šifrováním PROTOKOLU TLS přidá do paketu hlavičku 16 bajtů, čímž se zmenší maximální velikost síťových paketů na 16368 bajtů.

Recommendations

Tato možnost je pokročilá a měla by být změněna pouze zkušeným odborníkem na databázi.

Pokud aplikace provede operace hromadného kopírování nebo odesílá nebo přijímá velké objemy dat textu nebo obrázku, může velikost paketů větší než výchozí hodnota zlepšit efektivitu, protože výsledkem je méně operací čtení a zápisu v síti. Pokud aplikace odesílá a přijímá malé množství informací, může být velikost paketu nastavena na 512 bajtů, což je dostačující pro většinu přenosů dat.

V systémech, které používají různé síťové protokoly, nastavte velikost síťového paketu na velikost nejběžnějšího použitého protokolu. Možnost velikosti síťových paketů zlepšuje výkon sítě, když síťové protokoly podporují větší pakety. Klientské aplikace můžou tuto hodnotu přepsat.

Můžete také volat OLE DB, Open Database Connectivity (ODBC) a DB-Library funkce požádat o změnu velikosti paketu. Pokud server nemůže podporovat požadovanou velikost paketů, databázový stroj odešle klientovi zprávu s upozorněním. Za některých okolností může změna velikosti paketu vést k selhání komunikačního propojení, například k následující chybě:

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

Povolení

Ve výchozím nastavení se všem uživatelům udělí oprávnění sp_configure bez parametrů nebo pouze s prvním parametrem. Pokud chcete provést sp_configure oba parametry, aby se změnila možnost konfigurace nebo aby příkaz spustil RECONFIGURE , musí být uživateli uděleno ALTER SETTINGS oprávnění na úrovni serveru. Oprávnění ALTER SETTINGS se implicitně uchovává rolemi serveru sysadmin a serveradmin .

Použití aplikace SQL Server Management Studio

  1. V Průzkumníku objektů klikněte pravým tlačítkem na server a vyberte Vlastnosti.

  2. Vyberte uzel Upřesnit .

  3. V části Síť vyberte hodnotu pole Velikost síťového paketu .

Použijte Transact-SQL

  1. Připojte se k databázovému stroji.

  2. Na panelu Standard vyberte Nový dotaz.

  3. Zkopírujte a vložte následující příklad do okna dotazu a vyberte Spustit. Tento příklad ukazuje, jak pomocí sp_configure nastavit hodnotu network packet size možnosti na 6500 bajty.

    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
    

Další informace naleznete v tématu Možnosti konfigurace serveru.

Konfigurace velikosti síťových paketů na straně klienta

Následující tabulka obsahuje příklady některých technologií datových připojení, které můžete použít pro připojení k SQL Serveru a řízení velikosti síťových paketů při jejich použití v klientských aplikacích. Úplný seznam různých technologií datových připojení, které můžete použít pro připojení k SQL Serveru, najdete na domovské stránce pro programování klientů s Microsoft SQL Serverem:

Klientská knihovna Možnost Výchozí
SQLSetConnectAttr – funkce SQL_ATTR_PACKET_SIZE Použití na straně serveru
Nastavení vlastností připojení setPacketSize(int packetSize) 8 000
ADO.NET – Microsoft.Data.SqlClient PacketSize 8 000
ADO.NET – System.Data.SqlClient PacketSize 8 000
Inicializace a vlastnosti autorizace SSPROP_INIT_PACKETSIZE 0 (použití na straně serveru)

Můžete monitorovat událost auditování přihlášení nebo událost ExistingConnection v SQL Profileru a určit velikost síťového paketu připojení klienta.

Pokud připojovací řetězec aplikace obsahuje hodnotu pro velikost síťového paketu, použije se tato hodnota pro komunikaci. Pokud připojovací řetězec neobsahuje hodnotu, ovladače používají výchozí hodnoty pro velikost síťových paketů. Například, jak je popsáno v předchozí tabulce, aplikace SqlClient používají výchozí velikost paketu 8000, zatímco aplikace ODBC používají velikost paketu, kterou jste na serveru nakonfigurovali.

Důležité

Nativní klient SQL Serveru (často zkracovaný jako SNAC) byl odebrán z SQL Serveru 2022 (16.x) a SQL Server Management Studio 19 (SSMS). Pro nový vývoj se nedoporučuje zprostředkovatele SQL Server Native Client OLE DB (SQLNCLI nebo SQLNCLI11) ani starší verze zprostředkovatele Microsoft OLE DB pro SQL Server (SQLOLEDB). Přejděte na nový ovladač Microsoft OLE DB pro SQL Server nebo nejnovější ovladač Microsoft ODBC pro SQL Server .