sys.dm_os_nodes (Transact-SQL)

Применимо к:SQL ServerБаза данных SQL AzureУправляемый экземпляр SQL AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)База данных SQL в Microsoft Fabric

Внутренний компонент с именем SQLOS создает структуры узлов, имитирующие аппаратное размещение ЦП. Эти структуры можно изменить с помощью soft-NUMA для создания пользовательских макетов узлов.

Note

Начиная с SQL Server 2016 (13.x), sql Server ядро СУБД автоматически будет использовать soft-NUMA для определенных конфигураций оборудования. Дополнительные сведения см. в разделе "Автоматическая обратимая функция NUMA".

Сведения об указанных узлах приведены в следующей таблице.

Note

Чтобы вызвать этот dmV из Azure Synapse Analytics или Analytics Platform System (PDW), используйте имя sys.dm_pdw_nodes_os_nodes. Этот синтаксис не поддерживается бессерверным пулом SQL в Azure Synapse Analytics.

Название столбца Тип данных Description
идентификатор_узла smallint Идентификатор узла.
node_state_desc nvarchar(256) Описание состояния узла. Сначала отображаются взаимоисключающие значения, затем все их комбинации. Рассмотрим пример.
«В сети», «Недостаток ресурсов потоков», «Отложенный с вытеснением»

Существует четыре взаимоисключающих значения node_state_desc. Они перечислены ниже с их описанием.
  • ONLINE: узел находится в сети
  • АВТОНОМНЫЙ режим: узел находится в автономном режиме
  • IDLE: узел не имеет ожидающих рабочих запросов и ввел состояние простоя.
  • IDLE_READY. Узел не имеет ожидающих рабочих запросов и готов ввести состояние простоя.

Существует три сочетания node_state_desc значений, перечисленных ниже с их описанием.
  • DAC: этот узел зарезервирован для выделенного административного подключения.
  • THREAD_RESOURCES_LOW. Новые потоки не могут быть созданы на этом узле из-за низкой памяти.
  • HOT ADDED: указывает, что узлы были добавлены в ответ на событие горячего добавления ЦП.
memory_object_address varbinary(8) Адрес объекта памяти, связанного с данным узлом. Отношение "один к одному" к sys.dm_os_memory_objects.memory_object_address.
memory_clerk_address varbinary(8) Адрес клерка памяти, связанного с данным узлом. Отношение "один к одному" к sys.dm_os_memory_clerks.memory_clerk_address.
io_completion_worker_address varbinary(8) Адрес исполнителя, связанного с завершением сеанса ввода-вывода для данного узла. Отношение "один к одному" к sys.dm_os_workers.worker_address.
memory_node_id smallint Идентификатор узла памяти, к которому принадлежит данный узел. Отношение "многие ко одному" к sys.dm_os_memory_nodes.memory_node_id.
cpu_affinity_mask bigint Битовая карта, идентифицирующая процессоры, с которыми связан данный узел.
online_scheduler_count smallint Количество сетевых планировщиков, управляемых этим узлом.
idle_scheduler_count smallint Количество планировщиков в сети, не имеющих активных исполнителей.
active_worker_count int Количество исполнителей, активных на всех планировщиках, управляемых данным узлом.
avg_load_balance int Среднее количество задач, выполняемых одним планировщиком на данном узле.
timer_task_affinity_mask bigint Битовая карта, определяющая планировщиков, которым можно назначить временные задачи.
permanent_task_affinity_mask bigint Битовая карта, определяющая планировщиков, которым можно назначить постоянные задачи.
resource_monitor_state bit Каждому узлу соответствует отдельный монитор ресурсов. Монитор ресурсов может находиться в состоянии работы или бездействия. Значению 1 соответствует рабочее состояние, значение 0 означает бездействие.
online_scheduler_mask bigint Идентифицирует маску схожести процессов для этого узла.
processor_group smallint Идентифицирует группу процессоров для этого узла.
cpu_count int Количество ЦП, доступных для этого узла.
pdw_node_id int Идентификатор узла, на который находится это распределение.

применимо к: Azure Synapse Analytics, система платформы аналитики (PDW)

Permissions

Для SQL Server и Управляемого экземпляра SQL требуется разрешение VIEW SERVER STATE.

В базе данных SQL базовые, S0и S1 целей службы, а также для баз данных в эластичных пулах, требуется учетная запись администратора сервера сервера, учетная запись администратора Microsoft Entra или членство в роли сервера ##MS_ServerStateReader##. Для всех остальных целей службы базы данных SQL требуется разрешение VIEW DATABASE STATE на базу данных или членство в роли сервера ##MS_ServerStateReader##.

Разрешения для SQL Server 2022 и более поздних версий

Требуется VIEW разрешение на состояние производительности сервера на сервере.