sys.dm_os_schedulers (Transact-SQL)sys.dm_os_schedulers (Transact-SQL)

Применимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions) ДаБаза данных SQL AzureAzure SQL DatabaseYesБаза данных SQL AzureAzure SQL Database ДаУправляемый экземпляр SQL AzureAzure SQL Managed InstanceYesУправляемый экземпляр SQL AzureAzure SQL Managed Instance даAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics даПараллельное хранилище данныхParallel Data WarehouseyesПараллельное хранилище данныхParallel Data WarehouseПрименимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions) ДаБаза данных SQL AzureAzure SQL DatabaseYesБаза данных SQL AzureAzure SQL Database ДаУправляемый экземпляр SQL AzureAzure SQL Managed InstanceYesУправляемый экземпляр SQL AzureAzure SQL Managed Instance даAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics даПараллельное хранилище данныхParallel Data WarehouseyesПараллельное хранилище данныхParallel Data Warehouse

Возвращает по одной строке для каждого планировщика SQL ServerSQL Server, сопоставленного с отдельным процессором.Returns one row per scheduler in SQL ServerSQL Server where each scheduler is mapped to an individual processor. Используйте это представление для мониторинга состояния планировщика или для определения отклонившихся от расписания задач.Use this view to monitor the condition of a scheduler or to identify runaway tasks. Дополнительные сведения о планировщиках см. в разделе пошаговое описание архитектуры потоков и задач.For more information about schedulers, see the Thread and Task Architecture Guide.

Примечание

Чтобы вызвать эту функцию из Azure Synapse Analytics (Хранилище данных SQL)Azure Synapse Analytics (SQL Data Warehouse) или Параллельное хранилище данныхParallel Data Warehouse , используйте имя sys. dm_pdw_nodes_os_schedulers.To call this from Azure Synapse Analytics (Хранилище данных SQL)Azure Synapse Analytics (SQL Data Warehouse) or Параллельное хранилище данныхParallel Data Warehouse, use the name sys.dm_pdw_nodes_os_schedulers.

Имя столбцаColumn name Тип данныхData type ОписаниеDescription
scheduler_addressscheduler_address varbinary(8)varbinary(8) Адрес памяти планировщика.Memory address of the scheduler. Не допускает значение NULL.Is not nullable.
parent_node_idparent_node_id intint Идентификатор узла, к которому относится планировщик; этот узел еще называют родительским.ID of the node that the scheduler belongs to, also known as the parent node. Он является узлом с неоднородным доступом к памяти (NUMA).This represents a nonuniform memory access (NUMA) node. Не допускает значение NULL.Is not nullable.
scheduler_idscheduler_id intint Идентификатор планировщика.ID of the scheduler. Все планировщики, используемые для выполнения обычных запросов, имеют идентификаторы меньше 1048576.All schedulers that are used to run regular queries have ID numbers less than 1048576. Планировщики с идентификаторами, равными 255 или превышающими это значение, используются внутренними механизмами SQL ServerSQL Server, такими как планировщик выделенных административных соединений.Those schedulers that have IDs greater than or equal to 1048576 are used internally by SQL ServerSQL Server, such as the dedicated administrator connection scheduler. Не допускает значение NULL.Is not nullable.
cpu_idcpu_id smallintsmallint Идентификатор ЦП, присвоенный планировщику.CPU ID assigned to the scheduler.

Не допускает значение NULL.Is not nullable.

Примечание. 255 не указывает сходство, которое было в нем SQL Server 2005 (9.x)SQL Server 2005 (9.x) .Note: 255 does not indicate no affinity as it did in SQL Server 2005 (9.x)SQL Server 2005 (9.x). Дополнительные сведения о сходстве см. в разделе sys. dm_os_threads ()Transact-SQL .See sys.dm_os_threads (Transact-SQL) for additional affinity information.
statusstatus nvarchar(60)nvarchar(60) Указывает состояние планировщика.Indicates the status of the scheduler. Может иметь одно из следующих значений:Can be one of the following values:

— СКРЫТО В СЕТИ- HIDDEN ONLINE
-СКРЫТО В АВТОНОМНОМ РЕЖИМЕ- HIDDEN OFFLINE
— ВИДИМЫЙ В СЕТИ- VISIBLE ONLINE
— ВИДИМЫЙ ВНЕ СЕТИ- VISIBLE OFFLINE
— ВИДИМЫЙ В СЕТИ (DAC)- VISIBLE ONLINE (DAC)
— HOT_ADDED- HOT_ADDED

Не допускает значение NULL.Is not nullable.

Планировщики с состоянием HIDDEN используются для обработки внутренних запросов компонента Компонент Database EngineDatabase Engine.HIDDEN schedulers are used to process requests that are internal to the Компонент Database EngineDatabase Engine. Планировщики с состоянием VISIBLE — для обработки пользовательских запросов.VISIBLE schedulers are used to process user requests.

Планировщики с состоянием OFFLINE соответствуют процессорам, находящимся в маске схожести в режиме вне сети и поэтому не используемым для обработки запросов.OFFLINE schedulers map to processors that are offline in the affinity mask and are, therefore, not being used to process any requests. Планировщики с состоянием ONLINE соответствуют процессорам, находящимся в маске схожести в режиме в сети и поэтому доступным для обработки потоков.ONLINE schedulers map to processors that are online in the affinity mask and are available to process threads.

Состояние DAC указывает на то, что планировщик выполняется через выделенное административное соединение.DAC indicates the scheduler is running under a dedicated administrator connection.

Состояние HOT ADDED указывает, что планировщики были добавлены в ответ на событие ЦП с поддержкой горячей замены.HOT ADDED indicates the schedulers were added in response to a hot add CPU event.
is_onlineis_online bitbit Если SQL ServerSQL Server настроен на использование лишь некоторых доступных на сервере процессоров, некоторые планировщики могут быть сопоставлены с процессорами, не указанными в маске схожести.If SQL ServerSQL Server is configured to use only some of the available processors on the server, this configuration can mean that some schedulers are mapped to processors that are not in the affinity mask. Если это так, то этот столбец вернет 0.If that is the case, this column returns 0. Это значение означает, что планировщик не используется для обработки запросов или пакетов.This value means that the scheduler is not being used to process queries or batches.

Не допускает значение NULL.Is not nullable.
is_idleis_idle bitbit 1 = планировщик находится в состоянии простоя.1 = Scheduler is idle. В настоящий момент не запущен ни один из исполнителей.No workers are currently running. Не допускает значение NULL.Is not nullable.
preemptive_switches_countpreemptive_switches_count intint Число переключений в режим с вытеснением исполнителей, обслуживаемых данным планировщиком.Number of times that workers on this scheduler have switched to the preemptive mode.

Чтобы выполнить код, внешний по отношению к SQL ServerSQL Server (например, расширенную хранимую процедуру или распределенный запрос), поток должен выйти из-под управления планировщика, работающего в режиме без вытеснения.To execute code that is outside SQL ServerSQL Server (for example, extended stored procedures and distributed queries), a thread has to execute outside the control of the non-preemptive scheduler. Для этого исполнитель переходит в режим с вытеснением.To do this, a worker switches to preemptive mode.
context_switches_countcontext_switches_count intint Число переключений контекста, выполненных на данном планировщике.Number of context switches that have occurred on this scheduler. Не допускает значение NULL.Is not nullable.

Чтобы предоставить возможность выполнения другим исполнителям, работающий в настоящий момент исполнитель должен освободить планировщик или переключить контекст.To allow for other workers to run, the current running worker has to relinquish control of the scheduler or switch context.

Примечание. Если Рабочая роль выдает планировщик и помещает себя в готовую к работе очередь, а затем не находит других рабочих ролей, работник выбирает себя.Note: If a worker yields the scheduler and puts itself into the runnable queue and then finds no other workers, the worker will select itself. В этом случае обновляется значение yield_count, но не context_switches_count.In this case, the context_switches_count is not updated, but the yield_count is updated.
idle_switches_countidle_switches_count intint Число ситуаций, в которых планировщик ожидал события, находясь в состоянии простоя.Number of times the scheduler has been waiting for an event while idle. Это значение аналогично значению context_switches_count.This column is similar to context_switches_count. Не допускает значение NULL.Is not nullable.
current_tasks_countcurrent_tasks_count intint Количество задач, ассоциированных в настоящий момент с данным планировщиком.Number of current tasks that are associated with this scheduler. Этот счетчик включает:This count includes the following:

— Задачи, ожидающие выполнения исполнителя.- Tasks that are waiting for a worker to execute them.
— Задачи, ожидающие или выполняемые в данный момент (в ПРИОСТАНОВЛЕНном или ГОТОВом состоянии).- Tasks that are currently waiting or running (in SUSPENDED or RUNNABLE state).

При завершении задачи этот счетчик уменьшается.When a task is completed, this count is decremented. Не допускает значение NULL.Is not nullable.
runnable_tasks_countrunnable_tasks_count intint Количество исполнителей с назначенными задачами, которые ожидают назначения в очереди готовых к работе.Number of workers, with tasks assigned to them, that are waiting to be scheduled on the runnable queue. Не допускает значение NULL.Is not nullable.
current_workers_countcurrent_workers_count intint Количество исполнителей, ассоциированных с данным планировщиком.Number of workers that are associated with this scheduler. В их число входят исполнители, которым не назначена никакая задача.This count includes workers that are not assigned any task. Не допускает значение NULL.Is not nullable.
active_workers_countactive_workers_count intint Количество активных исполнителей.Number of workers that are active. Активный исполнитель никогда не работает в режиме с вытеснением; он должен иметь связанную с ним задачу и либо работает, либо готов к выполнению, либо приостановлен.An active worker is never preemptive, must have an associated task, and is either running, runnable, or suspended. Не допускает значение NULL.Is not nullable.
work_queue_countwork_queue_count bigintbigint Число задач в очереди на выполнение.Number of tasks in the pending queue. Это задачи, ожидающие исполнителя, который бы их выполнил.These tasks are waiting for a worker to pick them up. Не допускает значение NULL.Is not nullable.
pending_disk_io_countpending_disk_io_count intint Число операций ввода-вывода, ожидающих завершения.Number of pending I/Os that are waiting to be completed. Каждый планировщик имеет список незавершенных операций ввода-вывода, проверяя при каждом переключении контекста, не завершены ли они.Each scheduler has a list of pending I/Os that are checked to determine whether they have been completed every time there is a context switch. Этот счетчик увеличивается при поступлении запросаThe count is incremented when the request is inserted. и уменьшается при завершении обработки запроса.This count is decremented when the request is completed. Он не характеризует состояние операций ввода-вывода.This number does not indicate the state of the I/Os. Не допускает значение NULL.Is not nullable.
load_factorload_factor intint Внутреннее значение, характеризующее нагрузку на планировщик.Internal value that indicates the perceived load on this scheduler. Оно используется для распределения задач между планировщиками.This value is used to determine whether a new task should be put on this scheduler or another scheduler. Это значение может оказаться полезным при отладке в случае неравномерного распределения нагрузки между планировщиками.This value is useful for debugging purposes when it appears that schedulers are not evenly loaded. Решение о маршрутизации выполняется в зависимости от загрузки планировщика.The routing decision is made based on the load on the scheduler. Кроме того, для определения наилучшего источника ресурсов в SQL ServerSQL Server используется фактор нагрузки на узлы и планировщики.SQL ServerSQL Server also uses a load factor of nodes and schedulers to help determine the best location to acquire resources. Когда задача помещается в очередь, фактор нагрузки увеличивается.When a task is enqueued, the load factor is increased. Когда задача завершается, фактор нагрузки уменьшается.When a task is completed, the load factor is decreased. Факторы нагрузки помогают операционной системе SQL ServerSQL Server эффективнее выполнять балансирование нагрузки.Using the load factors helps SQL ServerSQL Server OS balance the work load better. Не допускает значение NULL.Is not nullable.
yield_countyield_count intint Внутреннее значение, характеризующее ход выполнения работы на данном планировщике.Internal value that is used to indicate progress on this scheduler. Это значение используется монитором планировщиков для определения того, вовремя ли исполнитель уступает право на выполнение другим исполнителям.This value is used by the Scheduler Monitor to determine whether a worker on the scheduler is not yielding to other workers on time. Оно не свидетельствует о передаче управления новому исполнителю.This value does not indicate that the worker or task transitioned to a new worker. Не допускает значение NULL.Is not nullable.
last_timer_activitylast_timer_activity bigintbigint Время последней проверки очереди таймера планировщиком (в тактах ЦП).In CPU ticks, the last time that the scheduler timer queue was checked by the scheduler. Не допускает значение NULL.Is not nullable.
failed_to_create_workerfailed_to_create_worker bitbit Это значение устанавливается в 1, если на данном планировщике не удалось создать новый исполнитель.Set to 1 if a new worker could not be created on this scheduler. Как правило, это происходит из-за недостатка памяти.This generally occurs because of memory constraints. Допускает значение NULL.Is nullable.
active_worker_addressactive_worker_address varbinary(8)varbinary(8) Адрес активного в настоящий момент исполнителя в памяти.Memory address of the worker that is currently active. Допускает значение NULL.Is nullable. Дополнительные сведения см. в разделе sys. dm_os_workers ()Transact-SQL .For more information, see sys.dm_os_workers (Transact-SQL).
memory_object_addressmemory_object_address varbinary(8)varbinary(8) Адрес объекта памяти планировщика.Memory address of the scheduler memory object. Не допускает значения NULL.Not NULLABLE.
task_memory_object_addresstask_memory_object_address varbinary(8)varbinary(8) Адрес объекта памяти задачи.Memory address of the task memory object. Не допускает значение NULL.Is not nullable. Дополнительные сведения см. в разделе sys. dm_os_memory_objects ()Transact-SQL .For more information, see sys.dm_os_memory_objects (Transact-SQL).
quantum_length_usquantum_length_us bigintbigint Указано только в ознакомительных целях.Identified for informational purposes only. Не поддерживается.Not supported. Совместимость с будущими версиями не гарантируется.Future compatibility is not guaranteed. Отображает такт планировщика, используемый SQLOS.Exposes the scheduler quantum used by SQLOS.
total_cpu_usage_mstotal_cpu_usage_ms bigintbigint Область применения: SQL Server 2016 (13.x);SQL Server 2016 (13.x) и более поздних версийApplies to: SQL Server 2016 (13.x);SQL Server 2016 (13.x) and later

Общая нагрузка на ЦП, потребляемая этим планировщиком, о которых сообщает работники, не использующие прерывание.Total CPU consumed by this scheduler as reported by non-preemptive workers. Не допускает значение NULL.Is not nullable.
total_cpu_idle_capped_mstotal_cpu_idle_capped_ms bigintbigint Указано только в ознакомительных целях.Identified for informational purposes only. Не поддерживается.Not supported. Совместимость с будущими версиями не гарантируется.Future compatibility is not guaranteed. Указывает, что регулирование на основе цели уровня обслуживаниявсегда будет равно 0 для версий, отличных от Azure SQL ServerSQL Server .Indicates throttling based on Service Level Objective, will always be 0 for non-Azure versions of SQL ServerSQL Server. Допускает значение NULL.Is nullable.
total_scheduler_delay_mstotal_scheduler_delay_ms bigintbigint Область применения: SQL Server 2016 (13.x);SQL Server 2016 (13.x) и более поздних версийApplies to: SQL Server 2016 (13.x);SQL Server 2016 (13.x) and later

Время между одним исполнителем и другим переключением в.The time between one worker switching out and another one switching in. Может быть вызвано тем, что работники с вытеснением задерживает планирование следующей неприоритетной рабочей роли или из-за потоков планирования ОС из других процессов.Can be caused by preemptive workers delaying the scheduling of the next non-preemptive worker, or due to the OS scheduling threads from other processes. Не допускает значение NULL.Is not nullable.
ideal_workers_limitideal_workers_limit intint Область применения: SQL Server 2019 (15.x)SQL Server 2019 (15.x) и более поздних версийApplies to: SQL Server 2019 (15.x)SQL Server 2019 (15.x) and later

Количество рабочих ролей в идеале должно быть в планировщике.How many workers should ideally be on the scheduler. Если текущие работники превышают предел из-за несбалансированной загрузки задачи, то после того, как они станут неактивными, они будут обрезаны.If the current workers exceed the limit due to imbalanced task load, once they become idle they will be trimmed. Не допускает значение NULL.Is not nullable.
pdw_node_idpdw_node_id intint Применимо к: Azure Synapse Analytics (Хранилище данных SQL)Azure Synapse Analytics (SQL Data Warehouse) , Параллельное хранилище данныхParallel Data WarehouseApplies to: Azure Synapse Analytics (Хранилище данных SQL)Azure Synapse Analytics (SQL Data Warehouse), Параллельное хранилище данныхParallel Data Warehouse

Идентификатор узла, на котором находится данное распределение.The identifier for the node that this distribution is on.

РазрешенияPermissions

В SQL ServerSQL Server необходимо VIEW SERVER STATE разрешение.On SQL ServerSQL Server, requires VIEW SERVER STATE permission.
На База данных SQLSQL Database уровнях Premium требуется VIEW DATABASE STATE разрешение в базе данных.On База данных SQLSQL Database Premium Tiers, requires the VIEW DATABASE STATE permission in the database. На База данных SQLSQL Database уровнях Standard и Basic требуется Администратор сервера или учетная запись администратора Azure Active Directory .On База данных SQLSQL Database Standard and Basic Tiers, requires the Server admin or an Azure Active Directory admin account.

ПримерыExamples

A.A. Наблюдение за скрытыми и видимыми планировщикамиMonitoring hidden and nonhidden schedulers

Следующий запрос выводит состояние исполнителей и задач в SQL ServerSQL Server по всем планировщикам.The following query outputs the state of workers and tasks in SQL ServerSQL Server across all schedulers. Этот запрос был выполнен на компьютере со следующей конфигурацией:This query was executed on a computer system that has the following:

  • два процессора (ЦП)Two processors (CPUs)

  • два узла NUMATwo (NUMA) nodes

  • один ЦП на узел NUMAOne CPU per NUMA node

  • маска схожести 0x03Affinity mask set to 0x03.

SELECT  
    scheduler_id,  
    cpu_id,  
    parent_node_id,  
    current_tasks_count,  
    runnable_tasks_count,  
    current_workers_count,  
    active_workers_count,  
    work_queue_count  
  FROM sys.dm_os_schedulers;  

Результирующий набор:Here is the result set.

scheduler_id cpu_id parent_node_id current_tasks_count  
------------ ------ -------------- -------------------  
0            1      0              9                    
257          255    0              1                    
1            0      1              10                   
258          255    1              1                    
255          255    32             2                    
  
runnable_tasks_count current_workers_count  
-------------------- ---------------------  
0                    11                     
0                    1                      
0                    18                     
0                    1                      
0                    3                      
  
active_workers_count work_queue_count  
-------------------- --------------------  
6                    0  
1                    0  
8                    0  
1                    0  
1                    0  

Вывод содержит следующие сведения.The output provides the following information:

  • Существует пять планировщиков.There are five schedulers. Два планировщика имеют значение идентификатора < 1048576.Two schedulers have an ID value < 1048576. Планировщики с ИДЕНТИФИКАТОРом >= 1048576 называются скрытыми планировщиками.Schedulers with ID >= 1048576 are known as hidden schedulers. Планировщик 255 предусматривает применение выделенного административного соединения (DAC).Scheduler 255 represents the dedicated administrator connection (DAC). Имеется по одному планировщику выделенного административного соединения (DAC) на каждый экземпляр.There is one DAC scheduler per instance. Мониторы использования ресурсов, координирующие загрузку памяти, используют планировщики 257 и 258, по одному на каждый узел NUMA.Resource monitors that coordinate memory pressure use scheduler 257 and scheduler 258, one per NUMA node

  • Вывод содержит 23 активные задачи.There are 23 active tasks in the output. Эти задачи включают как пользовательские запросы, так и задачи управления ресурсами, запущенные сервером SQL ServerSQL Server.These tasks include user requests in addition to resource management tasks that have been started by SQL ServerSQL Server. Примерами задач SQL ServerSQL Server являются RESOURCE MONITOR (одна на каждый узел NUMA), LAZY WRITER (одна на каждый узел NUMA), LOCK MONITOR, CHECKPOINT и LOG WRITER.Examples of SQL ServerSQL Server tasks are RESOURCE MONITOR (one per NUMA node), LAZY WRITER (one per NUMA node), LOCK MONITOR, CHECKPOINT, and LOG WRITER.

  • Узел NUMA 0 сопоставлен ЦП 1, а узел NUMA 1 сопоставлен ЦП 0.NUMA node 0 is mapped to CPU 1 and NUMA node 1 is mapped to CPU 0. SQL ServerSQL Server обычно сначала использует узел NUMA, отличный от узла 0.typically starts on a NUMA node other than node 0.

  • При значении runnable_tasks_count, равном 0, активные выполняемые задачи отсутствуют.With runnable_tasks_count returning 0, there are no actively running tasks. Однако могут присутствовать активные сеансы.However, active sessions may exist.

  • С планировщиком 255, представляющим выделенное административное соединение (DAC), связано 3 исполнителя.Scheduler 255 representing DAC has 3 workers associated with it. Эти исполнители выделяются при запуске SQL ServerSQL Server и не изменяются.These workers are allocated at SQL ServerSQL Server startup and do not change. Они используются только для обработки запросов выделенного административного соединения (DAC) .These workers are used to process DAC queries only. Две задачи этого планировщика представляют собой диспетчер соединений и простаивающий исполнитель.The two tasks on this scheduler represent a connection manager and an idle worker.

  • active_workers_count представляет всех рабочих ролей, которые имеют связанные задачи и выполняются в режиме без вытеснений.active_workers_count represents all workers that have associated tasks and are running under non-preemptive mode. Некоторые задачи, например средства прослушивания сети, запускаются планировщиком в режиме с вытеснением.Some tasks, such as network listeners, run under preemptive scheduling.

  • Скрытые планировщики не обрабатывают стандартные запросы пользователей.Hidden schedulers do not process typical user requests. Исключением является планировщик выделенного административного соединения (DAC).The DAC scheduler is the exception. Этот планировщик имеет один поток для обработки запросов.This DAC scheduler has one thread to process requests.

Б.B. Наблюдение за видимыми планировщиками в загруженной системеMonitoring nonhidden schedulers in a busy system

Следующий запрос демонстрирует состояние чрезмерно загруженных видимых планировщиков, при котором имеется больше запросов, чем могут обработать доступные исполнители.The following query shows the state of heavily loaded nonhidden schedulers, where more requests exist than can be handled by available workers. В данном примере задачи назначены 256 исполнителям.In this example, 256 workers are assigned tasks. Некоторые задачи ожидают назначения исполнителю.Some tasks are waiting for an assignment to a worker. Небольшое число готовых к запуску задач неявно подразумевает, что множество задач ожидают выделения ресурса.Lower runnable count implies that multiple tasks are waiting for a resource.

Примечание

Состояние исполнителей можно получить путем запроса к представлению sys.dm_os_workers.You can find the state of workers by querying sys.dm_os_workers. Дополнительные сведения см. в разделе sys. dm_os_workers ()Transact-SQL .For more information, see sys.dm_os_workers (Transact-SQL).

Запрос:Here is the query:

SELECT  
    scheduler_id,  
    cpu_id,  
    current_tasks_count,  
    runnable_tasks_count,  
    current_workers_count,  
    active_workers_count,  
    work_queue_count  
  FROM sys.dm_os_schedulers  
  WHERE scheduler_id < 255;  

Результирующий набор:Here is the result set.

scheduler_id current_tasks_count runnable_tasks_count  
------------ ------------------- --------------------  
0            144                 0                     
1            147                 1                     
  
current_workers_count active_workers_count work_queue_count  
--------------------- -------------------- --------------------  
128                   125                  16  
128                   126                  19  

Для сравнения: следующий результат показывает множество готовых к выполнению задач, ни одна из которых не ожидает назначения исполнителю.By comparison, the following result shows multiple runnable tasks where no task is waiting to obtain a worker. Значение work_queue_count равно 0 для обоих планировщиков.The work_queue_count is 0 for both schedulers.

scheduler_id current_tasks_count runnable_tasks_count  
------------ ------------------- --------------------  
0            107                 98                    
1            110                 100                   
  
current_workers_count active_workers_count work_queue_count  
--------------------- -------------------- --------------------  
128                   104                  0  
128                   108                  0  

См. такжеSee Also

SQL Server динамические административные представления, связанные с операционной системой ()Transact-SQL SQL Server Operating System Related Dynamic Management Views (Transact-SQL)