sys.dm_os_sys_info (Transact-SQL)

Применимо к:SQL ServerAzure SQL DatabaseAzure Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

Возвращает дополнительный набор полезных сведений о компьютере и о ресурсах, доступных и используемых SQL Server.

Заметка

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

Имя столбца Тип данных Заметки о описании и версии
cpu_ticks bigint Задает текущий счетчик тактов времени ЦП. Метки времени ЦП поступают от счетчика процессора RDTSC. Это монотонно возрастающее число. Не допускает значения NULL.
ms_ticks bigint Указывает число миллисекунд, прошедших со времени запуска компьютера. Не допускает значения NULL.
cpu_count int Указывает количество логических процессоров в системе. Не допускает значения NULL.

В базе данных SQL Azure может вернуться количество логических ЦП на компьютере, на котором размещена база данных или эластичные пулы. Чтобы определить количество логических ЦП, доступных для базы данных или эластичного пула, используйте cpu_limit столбец в sys.dm_user_db_resource_governance.
hyperthread_ratio int Указывает количество логических или физических ядер, соответствующих одному физическому пакету процессора. Не допускает значения NULL.
physical_memory_in_bytes bigint Применимо: SQL Server 2008 (10.0.x) до SQL Server 2008 R2 (10.50.x).

Указывает общий объем физической памяти компьютера. Не допускает значения NULL.
physical_memory_kb bigint Область применения: SQL Server 2012 (11.x) и более поздних версий.

Указывает общий объем физической памяти компьютера. Не допускает значения NULL.

В Базе данных SQL Azure возвращает общий объем физической памяти на компьютере, на котором размещена база данных или эластичные пулы. Чтобы определить объем физической памяти, доступной для базы данных или эластичного пула, используйте process_memory_limit_mb столбец в sys.dm_os_job_object.
virtual_memory_in_bytes bigint Применимо: SQL Server 2008 (10.0.x) до SQL Server 2008 R2 (10.50.x).

Объем виртуальной памяти, доступной процессу в пользовательском режиме. Это значение можно использовать для определения того, был ли SQL Server запущен с параметром 3-GB.
virtual_memory_kb bigint Область применения: SQL Server 2012 (11.x) и более поздних версий.

Указывает общий объем виртуального адресного пространства, доступного процессу в пользовательском режиме. Не допускает значения NULL.
bpool_committed int Применимо: SQL Server 2008 (10.0.x) до SQL Server 2008 R2 (10.50.x).

Представляет фиксированную физическую память в килобайтах (КБ) в диспетчере памяти. Не включает зарезервированную память в диспетчере памяти. Не допускает значения NULL.
committed_kb int Область применения: SQL Server 2012 (11.x) и более поздних версий.

Представляет фиксированную физическую память в килобайтах (КБ) в диспетчере памяти. Не включает зарезервированную память в диспетчере памяти. Не допускает значения NULL.
bpool_commit_target int Применимо: SQL Server 2008 (10.0.x) до SQL Server 2008 R2 (10.50.x).

Представляет объем памяти, в килобайтах (КБ), доступный диспетчеру памяти SQL Server.
committed_target_kb int Область применения: SQL Server 2012 (11.x) и более поздних версий.

Представляет объем памяти, в килобайтах (КБ), доступный диспетчеру памяти SQL Server. Целевой объем вычисляется с помощью разнообразных входных данных, в том числе:

— текущее состояние системы, включая ее нагрузку

— память, запрошенная текущими процессами

— объем памяти, установленной на компьютере

— параметры конфигурации

Если committed_target_kb больше committed_kb, диспетчер памяти попытается получить дополнительную память. Если committed_target_kb значение меньше committed_kb, диспетчер памяти попытается уменьшить объем памяти, зафиксированный. Всегда committed_target_kb включает украденную и зарезервированную память. Не допускает значения NULL.
bpool_visible int Применимо: SQL Server 2008 (10.0.x) до SQL Server 2008 R2 (10.50.x).

Количество буферов по 8 KБ в буферном пуле, которые непосредственно доступны в виртуальном адресном пространстве процесса. Если расширения AWE не используются, то при получении буферным пулом целевого объема памяти (bpool_committed = bpool_commit_target) значение bpool_visible становится равным значению bpool_committed. Если расширения AWE используются на 32-разрядной версии SQL Server, bpool_visible представляет размер отображаемой сопоставленной памяти AWE, которая используется для доступа к физической памяти, выделенной под буферный пул. Размер отображаемой сопоставленной памяти привязан к адресному пространству процесса, поэтому видимый объем памяти будет меньше, чем фиксированный объем, и в дальнейшем может быть уменьшен внутренними компонентами, которые потребляют память для целей, не связанных со страницами базы данных. Если значение bpool_visible слишком маленькое, есть вероятность получения ошибок нехватки памяти.
visible_target_kb int Область применения: SQL Server 2012 (11.x) и более поздних версий.

То же самое, что committed_target_kbи . Не допускает значения NULL.
stack_size_in_bytes int Задает размер стека вызовов для каждого потока, созданного SQL Server. Не допускает значения NULL.
os_quantum bigint Представляет такт времени для задач без вытеснения, выраженный в миллисекундах. Quantum (в секундах) = os_quantum / скорость ЦП. Не допускает значения NULL.
os_error_mode int Указывает режим ошибки для процесса SQL Server. Не допускает значения NULL.
os_priority_class int Задает класс приоритета для процесса SQL Server. Допускает значение NULL.

32 = обычный (журнал ошибок будет говорить, что SQL Server начинается с обычной базы приоритета (=7).)

128 = высокий (журнал ошибок будет говорить, что SQL Server работает на основе высокого приоритета. (=13)).

Дополнительные сведения см. в статье Настройка параметра конфигурации сервера priority boost.
max_workers_count int Представляет максимальное число исполнителей, которые могут быть созданы. Не допускает значения NULL.
scheduler_count int Представляет количество планировщиков пользователей, настроенных в процессе SQL Server. Не допускает значения NULL.
scheduler_total_count int Представляет общее количество планировщиков в SQL Server. Не допускает значения NULL.
deadlock_monitor_serial_number int Указывает идентификатор текущей последовательности монитора взаимоблокировок. Не допускает значения NULL.
sqlserver_start_time_ms_ticks bigint Представляет номер ms_tick при последнем запуске SQL Server. Сравнение с текущим ms_ticks столбцом. Не допускает значения NULL.
sqlserver_start_time datetime Указывает дату и время последнего запуска SQL Server локальной системы. Не допускает значения NULL.
Информация во многих других динамических представлениях SQL Server включает только действия с момента запуска последнего ядра СУБД. Используйте этот столбец, чтобы найти последнее время запуска ядра СУБД SQL Server.
affinity_type int Область применения: SQL Server 2008 R2 (10.50.x) и более поздних версий.

Задает текущий используемый тип привязки процесса к процессорам. Не допускает значения NULL. Дополнительные сведения см. в разделе ALTER SERVER CONFIGURATION (Transact-SQL).

1 = MANUAL

2 = AUTO
affinity_type_desc varchar(60) Область применения: SQL Server 2008 R2 (10.50.x) и более поздних версий.

Описывает affinity_type столбец. Не допускает значения NULL.

MANUAL = сходство было задано хотя бы для одного ЦП.

AUTO = SQL Server может свободно перемещать потоки между ЦП.
process_kernel_time_ms bigint Область применения: SQL Server 2008 R2 (10.50.x) и более поздних версий.

Общее время в миллисекундах, затраченное всеми потоками SQL Server в режиме ядра. Это значение может быть больше, чем время одного процессора, поскольку оно включает в себя время всех процессоров сервера. Не допускает значения NULL.
process_user_time_ms bigint Область применения: SQL Server 2008 R2 (10.50.x) и более поздних версий.

Общее время в миллисекундах, затраченное всеми потоками SQL Server в пользовательском режиме. Это значение может быть больше, чем время одного процессора, поскольку оно включает в себя время всех процессоров сервера. Не допускает значения NULL.
time_source int Область применения: SQL Server 2008 R2 (10.50.x) и более поздних версий.

Указывает API, с помощью которого SQL Server используется для получения времени на стены. Не допускает значения NULL.

0 = QUERY_PERFORMANCE_COUNTER

1 = MULTIMEDIA_TIMER
time_source_desc nvarchar(60) Область применения: SQL Server 2008 R2 (10.50.x) и более поздних версий.

Описывает time_source столбец. Не допускает значения NULL.

QUERY_PERFORMANCE_COUNTER = API QueryPerformanceCounter извлекает время настенные часы.

MULTIMEDIA_TIMER = API мультимедийного таймера , который получает время настенных часов.
virtual_machine_type int Область применения: SQL Server 2008 R2 (10.50.x) и более поздних версий.

Указывает, работает ли SQL Server в виртуализированной среде. Не допускает значения NULL.

0 = нет

1 = HYPERVISOR

2 = OTHER
virtual_machine_type_desc nvarchar(60) Область применения: SQL Server 2008 R2 (10.50.x) и более поздних версий.

Описывает virtual_machine_type столбец. Не допускает значения NULL.

NONE = SQL Server не выполняется внутри виртуальной машины.

HYPERVISOR = SQL Server выполняется внутри виртуальной машины, размещенной под управлением ОС с гипервизором (ос узла, использующей аппаратное виртуализацию).

OTHER = SQL Server выполняется внутри виртуальной машины, размещенной операционной системой, которая не использует аппаратный помощник, например Microsoft Virtual PC.
softnuma_configuration int Область применения: SQL Server 2016 (13.x) и более поздних версий.

Указывает способ настройки узлов NUMA. Не допускает значения NULL.

0 = OFF указывает, что оборудование по умолчанию

1 = автоматизированная soft-NUMA

2 = вручную soft-NUMA через реестр
softnuma_configuration_desc nvarchar(60) Область применения: SQL Server 2016 (13.x) и более поздних версий.

OFF = функция Soft-NUMA — OFF

ON = SQL Server автоматически определяет размеры узлов NUMA для Soft-NUMA

MANUAL = вручную настроено soft-NUMA
process_physical_affinity nvarchar(3072) Область применения: начиная с SQL Server 2017 (14.x).

Информация еще не приходит.
sql_memory_model int Область применения: SQL Server 2012 (11.x) с пакетом обновления 4 (SP4), SQL Server 2016 (13.x) с пакетом обновления 1 (SP1) и более поздних версий.

Указывает модель памяти, используемую SQL Server для выделения памяти. Не допускает значения NULL.

1 = обычная модель памяти
2 = блокировка страниц в памяти
3 = большие страницы в памяти
sql_memory_model_desc nvarchar(120) Область применения: SQL Server 2012 (11.x) с пакетом обновления 4 (SP4), SQL Server 2016 (13.x) с пакетом обновления 1 (SP1) и более поздних версий.

Указывает модель памяти, используемую SQL Server для выделения памяти. Не допускает значения NULL.

CONVENTIONAL = SQL Server использует обычную модель памяти для выделения памяти. Это модель памяти SQL по умолчанию, если у учетной записи службы SQL Server нет привилегий блокировки в памяти во время запуска.
LOCK_PAGES = SQL Server использует блокировку страниц в памяти для выделения памяти. Это диспетчер памяти sql по умолчанию, когда учетная запись службы SQL Server имеет права блокировки страниц в памяти во время запуска SQL Server.
LARGE_PAGES = SQL Server использует большие страницы в памяти для выделения памяти. SQL Server использует средство распределения больших страниц для выделения памяти только с корпоративным выпуском, если учетная запись службы SQL Server имеет права блокировки страниц в памяти во время запуска сервера и при включении флага трассировки 834.
pdw_node_id int Область применения: Azure Synapse Analytics, Analytics Platform System (PDW)

Идентификатор узла, на который находится данное распределение.
socket_count int Область применения: SQL Server 2016 (13.x) с пакетом обновления 2 (SP2) и более поздних версий.

Указывает количество сокетов процессора, доступных в системе.
cores_per_socket int Область применения: SQL Server 2016 (13.x) с пакетом обновления 2 (SP2) и более поздних версий.

Указывает количество процессоров на сокет, доступный в системе.
numa_node_count int Область применения: SQL Server 2016 (13.x) с пакетом обновления 2 (SP2) и более поздних версий.

Указывает количество узлов NUMA, доступных в системе. Этот столбец включает физические узлы NUMA, а также мягкие узлы NUMA.

Разрешения

На SQL Server и управляемом экземпляре SQL необходимо разрешение VIEW SERVER STATE.

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

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

Требуется разрешение VIEW SERVER PERFORMANCE STATE на сервере.

См. также

Динамические административные представления и функции (Transact-SQL)
Динамические административные представления операционной системы SQL Server (Transact-SQL)