Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к: SQL Server 2025 (17.x) в Linux
Возвращает статистику сетевого интерфейса Linux в режиме реального времени, включая байты и пакеты, отправленные и полученные, ошибки, падения и столкновения в SQL Server 2025 (17.x) накопительного обновления (CU) 1 и более поздних версий.
| Имя столбца | Тип данных | Нуллибельный | Description |
|---|---|---|---|
interface |
nvarchar(256) | нет | Имя сетевого интерфейса. |
recv_bytes |
bigint | нет | Количество байтов, полученных без ошибок (может включать удаленные пакеты). |
recv_packets |
bigint | нет | Количество пакетов, полученных без ошибок (может включать удаленные пакеты). |
recv_errors |
bigint | нет | Число полученных плохих пакетов. |
recv_drops |
bigint | нет | Количество полученных пакетов, но удалено перед обработкой. |
recv_fifo |
bigint | нет | Число ошибок FIFO приемника. |
recv_frame |
bigint | нет | Число ошибок выравнивания кадров приемника. |
recv_compressed |
bigint | нет | Количество правильно полученных сжатых пакетов. |
recv_multicast |
bigint | нет | Число полученных пакетов многоадресной рассылки (может включать удаленные пакеты). |
tx_bytes |
bigint | нет | Количество байтов, передаваемых без ошибок. |
tx_packets |
bigint | нет | Количество пакетов, передаваемых без ошибок. |
tx_errors |
bigint | нет | Количество передаваемых плохих пакетов. |
tx_drop |
bigint | нет | Количество пакетов, отброшенных перед передачей. |
tx_fifo |
bigint | нет | Количество ошибок передачи кадров из-за переполнения или переполнения FIFO. |
tx_collisions |
bigint | нет | Количество столкновений при передаче пакетов. |
tx_carrier |
bigint | нет | Агрегированное число ошибок "carrier". |
tx_compressed |
bigint | нет | Количество передаваемых сжатых пакетов. |
Permissions
Необходимо разрешение VIEW SERVER PERFORMANCE STATE на сервере.
Замечания
Это динамическое административное представление предоставляет метрики сети на уровне системы и не ограничивается действием SQL Server. Он отражает состояние всех сетевых интерфейсов на узле Linux.
sys.dm_os_linux_net_stats Полезно для диагностики проблем с сетью, которые могут повлиять на подключение SQL Server, группы доступности AlwaysOn, репликацию или взаимодействие с клиентом или сервером.
Используйте это динамическое административное представление с другими динамическими представлениями linux для комплексного мониторинга:
Сценарии использования
Доступ к статистике сети Linux с помощью знакомых запросов T-SQL. Вам не нужно переключаться на инструменты уровня ОС, например ifconfig, ipили /proc/net/dev.
Создайте и отслеживайте базовые показатели производительности сети для развертываний SQL Server в Linux. Этот подход поддерживает упреждающее планирование диагностики и емкости.
Обнаружение потери пакетов: мониторинг
recv_dropsиtx_dropненулевое значение. Эти значения могут указывать на проблемы с сетевой перегрузкой или оборудованием.Устранение ошибок: изучение ненулевого
recv_errors,tx_errorsrecv_fifoилиtx_fifoзначения для выявления проблем с ошибками интерфейсов или драйверов.Анализ производительности. Отслеживайте
recv_bytesиtx_bytesс течением времени, чтобы понять пропускную способность сети и определить узкие места.
Примеры
А. Статистика сети для всех интерфейсов
В следующем примере возвращается статистика сети для всех интерфейсов на узле Linux:
SELECT *
FROM sys.dm_os_linux_net_stats;
В. Определение интерфейсов с ошибками пакетов или удалением
Используйте следующий запрос, чтобы сосредоточиться на интерфейсах с проблемами. Он фильтруется по ненулевой ошибке или счетчикам удаления.
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;
С. Мониторинг пропускной способности сети с течением времени
Измеряйте пропускную способность сети для каждого интерфейса через определенный интервал. Это измерение помогает в планировании емкости и определяет узкие места во время пиковых рабочих нагрузок.
Следующий запрос отслеживает тенденции использования сети. Он периодически извлекает байты, отправленные и полученные, и вычисляет разностную величину.
Создание базового моментального снимка:
SELECT interface,
recv_bytes,
tx_bytes
INTO #net_stats_baseline
FROM sys.dm_os_linux_net_stats;
Дождитесь определенного интервала (например, 60 секунд), а затем выполните следующую команду:
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. Обнаружение многоадресного трафика
Чтобы узнать, получает ли SQL Server многоадресные пакеты (которые могут быть релевантны для определенных конфигураций высокого уровня доступности и аварийного восстановления):
SELECT interface,
recv_multicast
FROM sys.dm_os_linux_net_stats
WHERE recv_multicast > 0;
E. Корреляция статистики сети с статистикой ожидания
Если вы видите высокие NETWORK_IO ожидания, проверьте соответствие сетевых ошибок или падений, чтобы определить первопричину задержек запросов.
Объединение статистики сети с статистикой ожидания для диагностики проблем с сетью, вызывающих ожидание SQL Server:
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. Поиск интерфейсов с высоким числом конфликтов
Обнаружение и исправление сегментов сети с чрезмерными столкновениями, что может замедлить производительность SQL Server.
Столкновения могут отображать перегрузку сети или неправильно настроенное оборудование:
SELECT interface,
tx_collisions
FROM sys.dm_os_linux_net_stats
WHERE tx_collisions > 0;
G. Пример базовых показателей и оповещений
Интеграция с средствами мониторинга для упреждающего уведомления администраторов базы данных о потенциальных сетевых проблемах, прежде чем они влияют на рабочие нагрузки SQL Server.
Используйте это динамическое административное представление в сценариях автоматического мониторинга, чтобы оповещать о неожиданном увеличении количества ошибок или удаления.
Оповещение, если любой интерфейс имеет более 10 ошибок или удаляется:
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;
Оповещение, если любой интерфейс имеет более 10 ошибок или удаляется:
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;