Поделиться через


Метод EnumProcesses

Перечисляет список процессов, запущенных на экземпляре SQL Server.

Пространство имен:  Microsoft.SqlServer.Management.Smo
Сборка:  Microsoft.SqlServer.Smo (в Microsoft.SqlServer.Smo.dll)

Синтаксис

'Декларация
Public Function EnumProcesses As DataTable
'Применение
Dim instance As Server
Dim returnValue As DataTable

returnValue = instance.EnumProcesses()
public DataTable EnumProcesses()
public:
DataTable^ EnumProcesses()
member EnumProcesses : unit -> DataTable 
public function EnumProcesses() : DataTable

Возвращаемое значение

Тип: System.Data. . :: . .DataTable
Значение объекта DataTable, которое содержит список процессов, запущенных в экземпляре SQL Server. В следующей таблице приводится описание различных столбцов возвращаемого набора DataTable.

Столбец

Тип данных

Описание

Urn

String

Строка универсального имени ресурса, представляющая процесс.

Пример: «Server[@Name='PCNAME']/Process[@Spid='51']».

Название

String

Имя процесса.

Spid

Int32

Идентификатор сеанса SQL Server, который однозначно определяет процесс, указывается в столбце session_id в sys.dm_exec_sessions (Transact-SQL).

Имя входа

String

Имя входа, с использованием которого был запущен процесс.

Узел

String

Имя компьютера, на котором запущен процесс.

Состояние

String

Состояние процесса. Пример: запущен или ожидание.

Команда

String

Команда, выполняемая в данный момент.

База данных

String

База данных, в которой выполняется процесс.

ЦП

Int32

Совокупное время выполнения процесса в миллисекундах. См. столбец cpu_time в sys.dm_exec_sessions (Transact-SQL).

MemUsage

Int32

Количество страниц в кэше процедур, выделенных в данный момент для этого процесса. Отрицательное значение показывает, что процесс освобождает память, выделенную другим процессом.

BlockingSpid

Int16

Идентификатор процедуры SQL Server, блокирующий процедуру, на которую приведена ссылка.

IsSystem

Boolean

Значение, указывающее, является ли процесс системным.

Program

String

Имя программы для обработки.

ExecutionContextID

Int16

Значение идентификатора, однозначно определяющее контекст выполнения процесса.

Замечания

Use this method to enumerate the processes that are currently running on the instance of SQL Server.

Примеры

C#

Server srv = new Server("(local)");

DataTable d = srv.EnumProcesses();
foreach (DataRow r in d.Rows)
{
   Console.WriteLine("============================================");
   foreach(DataColumn c in d.Columns)
   {
      Console.WriteLine(c.ColumnName + " = " + r[c].ToString());
   }
}

PowerShell

$srv = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")

$d = $srv.EnumProcesses()
foreach ($r in $d.Rows)
{
   Write-Host "============================================"
   Foreach ($c in $d.Columns)
   {
      Write-Host $c.ColumnName "=" $r[$c]
   }
}