sys.dm_os_linux_net_stats (Transact-SQL)

Berlaku untuk: SQL Server 2025 (17.x) di Linux

Mengembalikan statistik antarmuka jaringan Linux real time, termasuk byte dan paket yang dikirim dan diterima, kesalahan, penurunan, dan tabrakan, di SQL Server 2025 (17.x) Pembaruan Kumulatif (CU) 1 dan versi yang lebih baru.

Nama kolom Jenis data Bisa bernilai null Deskripsi
interface nvarchar(256) Tidak. Nama antarmuka jaringan.
recv_bytes bigint Tidak. Jumlah byte yang diterima tanpa kesalahan (mungkin termasuk paket yang dihilangkan).
recv_packets bigint Tidak. Jumlah paket yang diterima tanpa kesalahan (mungkin termasuk paket yang dihilangkan).
recv_errors bigint Tidak. Jumlah paket buruk yang diterima.
recv_drops bigint Tidak. Jumlah paket yang diterima tetapi dihilangkan sebelum diproses.
recv_fifo bigint Tidak. Jumlah kesalahan FIFO penerima.
recv_frame bigint Tidak. Jumlah kesalahan perataan bingkai penerima.
recv_compressed bigint Tidak. Jumlah paket terkompresi yang diterima dengan benar.
recv_multicast bigint Tidak. Jumlah paket multicast yang diterima (mungkin termasuk paket yang dihilangkan).
tx_bytes bigint Tidak. Jumlah byte yang ditransmisikan tanpa kesalahan.
tx_packets bigint Tidak. Jumlah paket yang dikirimkan tanpa kesalahan.
tx_errors bigint Tidak. Jumlah paket buruk yang dikirimkan.
tx_drop bigint Tidak. Jumlah paket yang dihilangkan sebelum transmisi.
tx_fifo bigint Tidak. Jumlah kesalahan transmisi bingkai karena FIFO diserbu atau underflow.
tx_collisions bigint Tidak. Jumlah tabrakan saat mengirimkan paket.
tx_carrier bigint Tidak. Jumlah agregat kesalahan "operator".
tx_compressed bigint Tidak. Jumlah paket terkompresi yang ditransmisikan.

Permissions

VIEW SERVER PERFORMANCE STATE Memerlukan izin pada server.

Keterangan

DMV ini menyediakan metrik jaringan tingkat sistem dan tidak terbatas pada aktivitas SQL Server. Ini mencerminkan status semua antarmuka jaringan pada host Linux.

sys.dm_os_linux_net_stats berguna untuk mendiagnosis masalah jaringan yang mungkin memengaruhi konektivitas SQL Server, grup ketersediaan AlwaysOn, replikasi, atau komunikasi klien/server.

Gunakan DMV ini dengan DMV khusus Linux lainnya untuk pemantauan holistik:

Skenario penggunaan

Akses statistik jaringan Linux dengan menggunakan kueri T-SQL yang sudah dikenal. Anda tidak perlu beralih ke alat tingkat OS seperti ifconfig, , ipatau /proc/net/dev.

Buat dan lacak garis besar performa jaringan untuk SQL Server Anda pada penyebaran Linux. Pendekatan ini mendukung diagnostik proaktif dan perencanaan kapasitas.

  • Mendeteksi kehilangan paket: Memantau recv_drops dan tx_drop untuk nilai bukan nol. Nilai-nilai ini mungkin menunjukkan kemacetan jaringan atau masalah perangkat keras.

  • Memecahkan masalah kesalahan: Selidiki nilai nonzero recv_errors, , tx_errorsrecv_fifo, atau tx_fifo untuk mengidentifikasi antarmuka yang rusak atau masalah driver.

  • Analisis performa: Lacak recv_bytes dan tx_bytes dari waktu ke waktu untuk memahami throughput jaringan dan mengidentifikasi hambatan.

Examples

A. Statistik jaringan untuk semua antarmuka

Contoh berikut mengembalikan statistik jaringan untuk semua antarmuka pada host Linux:

SELECT *
FROM sys.dm_os_linux_net_stats;

B. Mengidentifikasi antarmuka dengan kesalahan atau penurunan paket

Gunakan kueri berikut untuk fokus pada antarmuka yang mengalami masalah. Ini memfilter kesalahan nonzero atau jumlah drop.

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. Memantau throughput jaringan dari waktu ke waktu

Mengukur throughput jaringan untuk setiap antarmuka melalui interval tertentu. Pengukuran ini membantu Anda dalam perencanaan kapasitas, dan mengidentifikasi hambatan selama beban kerja puncak.

Kueri berikut melacak tren penggunaan jaringan. Ini secara berkala mengambil sampel byte yang dikirim dan diterima, dan menghitung delta.

Ambil rekam jepret garis besar:

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

Tunggu interval yang ditentukan (misalnya, 60 detik), lalu jalankan:

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. Mendeteksi lalu lintas multicast

Untuk melihat apakah SQL Server Anda menerima paket multicast (yang mungkin relevan untuk konfigurasi HA/DR tertentu):

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

E. Menghubungkan statistik jaringan dengan statistik tunggu

Jika Anda melihat penantian tinggi NETWORK_IO , periksa kesalahan atau penurunan jaringan yang cocok untuk mengidentifikasi akar penyebab penundaan kueri.

Gabungkan statistik jaringan dengan statistik tunggu untuk mendiagnosis jika masalah jaringan menyebabkan SQL Server menunggu:

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. Menemukan antarmuka dengan jumlah tabrakan tinggi

Deteksi dan perbaiki segmen jaringan dengan tabrakan berlebihan, yang mungkin memperlambat performa SQL Server.

Tabrakan dapat menunjukkan kemacetan jaringan atau perangkat keras yang salah dikonfigurasi:

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

G. Contoh garis besar dan pemberitahuan

Integrasikan dengan alat pemantauan untuk secara proaktif memberi tahu administrator database tentang potensi masalah jaringan sebelum memengaruhi beban kerja SQL Server.

Gunakan DMV ini dalam skrip pemantauan otomatis untuk memperingatkan ketika jumlah kesalahan atau penurunan meningkat secara tak terduga.

Pemberitahuan jika ada antarmuka yang memiliki lebih dari 10 kesalahan atau penurunan:

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;

Pemberitahuan jika ada antarmuka yang memiliki lebih dari 10 kesalahan atau penurunan:

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;