sys.dm_os_linux_net_stats (Transact-SQL)

Platí pro: SQL Server 2025 (17.x) na Linuxu

Vrátí statistiky síťového rozhraní Linuxu v reálném čase, včetně odeslaných a přijatých bajtů a přijatých paketů, chyb, poklesů a kolizí v kumulativní aktualizaci SQL Serveru 2025 (17.x) 1 a novějších verzích.

Název sloupce Datový typ Nullovatelný Description
interface nvarchar(256) Ne Název síťového rozhraní.
recv_bytes bigint Ne Počet přijatých bajtů bez chyby (může zahrnovat zahozené pakety).
recv_packets bigint Ne Počet přijatých paketů bez chyby (může zahrnovat zahozené pakety).
recv_errors bigint Ne Počet přijatých chybných paketů
recv_drops bigint Ne Počet přijatých paketů, ale vyřazených před zpracováním
recv_fifo bigint Ne Počet chyb FIFO přijímače
recv_frame bigint Ne Počet chyb zarovnání rámce přijímače
recv_compressed bigint Ne Počet správně přijatých komprimovaných paketů
recv_multicast bigint Ne Počet přijatých paketů vícesměrového vysílání (může zahrnovat zahozené pakety).
tx_bytes bigint Ne Počet bajtů přenášených bez chyby
tx_packets bigint Ne Počet paketů přenášených bez chyby
tx_errors bigint Ne Počet přenášených chybných paketů
tx_drop bigint Ne Počet paketů vyřazených před přenosem.
tx_fifo bigint Ne Počet chyb přenosu rámce kvůli přetečení nebo podtečení FIFO
tx_collisions bigint Ne Počet kolizí při přenosu paketů
tx_carrier bigint Ne Agregovaný počet chyb operátora
tx_compressed bigint Ne Počet přenášených komprimovaných paketů

Povolení

Vyžaduje VIEW SERVER PERFORMANCE STATE oprávnění na serveru.

Poznámky

Toto zobrazení dynamické správy poskytuje systémové metriky sítě a neomezuje se na aktivitu SQL Serveru. Odráží stav všech síťových rozhraní na hostiteli s Linuxem.

sys.dm_os_linux_net_stats je užitečné při diagnostice problémů se sítí, které můžou mít vliv na připojení k SQL Serveru, skupiny dostupnosti AlwaysOn, replikaci nebo komunikaci mezi klientem nebo serverem.

Toto zobrazení dynamické správy použijte s jinými zobrazeními dynamické správy specifické pro Linux pro holistické monitorování:

Scénáře použití

Získejte přístup ke statistikám sítě s Linuxem pomocí známých dotazů T-SQL. Nemusíte přepínat na nástroje na úrovni operačního systému, jako je ifconfig, ipnebo /proc/net/dev.

Vytvořte a sledujte směrné plány výkonu sítě pro sql Server v nasazeních s Linuxem. Tento přístup podporuje proaktivní diagnostiku a plánování kapacity.

  • Detekce ztráty paketů: Monitorování recv_drops a tx_drop nenulové hodnoty Tyto hodnoty můžou znamenat zahlcení sítě nebo problémy s hardwarem.

  • Řešení chyb: Prošetřování nenulových recv_errorshodnot nebo tx_errorsrecv_fifotx_fifo hodnot za účelem identifikace chybných rozhraní nebo problémů s ovladačem

  • Analýza výkonu: Sledujterecv_bytes propustnost sítě a tx_bytes v průběhu času zjistěte kritické body.

Examples

A. Statistika sítě pro všechna rozhraní

Následující příklad vrátí statistiku sítě pro všechna rozhraní na hostiteli s Linuxem:

SELECT *
FROM sys.dm_os_linux_net_stats;

B. Identifikace rozhraní s chybami nebo zahozenými pakety

Pomocí následujícího dotazu se můžete zaměřit na rozhraní, u kterých dochází k problémům. Filtruje počty nenulových chyb nebo poklesů.

SELECT interface,
       recv_errors,
       recv_drops,
       tx_errors,
       tx_drop
FROM sys.dm_os_linux_net_stats
WHERE recv_errors > 0
      OR recv_drops > 0
      OR tx_errors > 0
      OR tx_drop > 0;

C. Monitorování propustnosti sítě v průběhu času

Změřte propustnost sítě pro každé rozhraní v určitém intervalu. Toto měření vám pomůže při plánování kapacity a identifikuje kritické body během špiček úloh.

Následující dotaz sleduje trendy využití sítě. Pravidelně vzorkuje odesílané a přijaté bajty a vypočítá rozdíl.

Pořízení základního snímku:

SELECT interface,
       recv_bytes,
       tx_bytes
INTO #net_stats_baseline
FROM sys.dm_os_linux_net_stats;

Počkejte na definovaný interval (například 60 sekund) a pak spusťte:

SELECT n.interface,
       n.recv_bytes - b.recv_bytes AS bytes_received_in_interval,
       n.tx_bytes - b.tx_bytes AS bytes_sent_in_interval
FROM sys.dm_os_linux_net_stats AS n
     INNER JOIN #net_stats_baseline AS b
         ON n.interface = b.interface;

D. Detekce provozu vícesměrového vysílání

Pokud chcete zjistit, jestli sql Server přijímá pakety vícesměrového vysílání (které můžou být relevantní pro určité konfigurace vysoké dostupnosti a zotavení po havárii):

SELECT interface,
       recv_multicast
FROM sys.dm_os_linux_net_stats
WHERE recv_multicast > 0;

E. Korelace statistik sítě se statistikami čekání

Pokud se zobrazí vysoké NETWORK_IO čekání, vyhledejte odpovídající chyby sítě nebo zahodíte, abyste zjistili původní příčinu zpoždění dotazů.

Zkombinujte statistiky sítě se statistikami čekání a diagnostikujte, jestli problémy se sítí způsobují čekání SQL Serveru:

SELECT w.wait_type,
       w.wait_time_ms,
       n.interface,
       n.recv_errors,
       n.tx_errors
FROM sys.dm_os_wait_stats AS w
CROSS JOIN sys.dm_os_linux_net_stats AS n
WHERE w.wait_type LIKE '%NETWORK_IO%';

F. Vyhledání rozhraní s vysokým počtem kolizí

Detekce a oprava síťových segmentů s nadměrnými kolizemi, což může zpomalit výkon SQL Serveru.

Kolize můžou ukazovat zahlcení sítě nebo chybná konfigurace hardwaru:

SELECT interface,
       tx_collisions
FROM sys.dm_os_linux_net_stats
WHERE tx_collisions > 0;

G. Příklad směrného plánu a upozorňování

Integrujte se s monitorovacími nástroji, které proaktivně upozorňují správce databází na potenciální problémy se sítí, než ovlivní úlohy SQL Serveru.

Toto zobrazení dynamické správy můžete použít ve skriptech automatizovaného monitorování k upozorňování na neočekávané zvýšení počtu chyb nebo poklesů.

Upozornění, pokud některé rozhraní obsahuje více než 10 chyb nebo pokles:

SELECT interface,
       recv_errors,
       tx_errors,
       recv_drops,
       tx_drop
FROM sys.dm_os_linux_net_stats
WHERE recv_errors > 10
      OR tx_errors > 10
      OR recv_drops > 10
      OR tx_drop > 10;

Upozornění, pokud některé rozhraní obsahuje více než 10 chyb nebo pokles:

SELECT interface,
       recv_errors,
       tx_errors,
       recv_drops,
       tx_drop
FROM sys.dm_os_linux_net_stats
WHERE recv_errors > 10
      OR tx_errors > 10
      OR recv_drops > 10
      OR tx_drop > 10;