Метод 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 |
Строка универсального имени ресурса, представляющая процесс. Пример: «Server[@Name='PCNAME']/Process[@Spid='51']». |
|
Название |
Имя процесса. |
|
Spid |
Идентификатор сеанса SQL Server, который однозначно определяет процесс, указывается в столбце session_id в sys.dm_exec_sessions (Transact-SQL). |
|
Имя входа |
Имя входа, с использованием которого был запущен процесс. |
|
Узел |
Имя компьютера, на котором запущен процесс. |
|
Состояние |
Состояние процесса. Пример: запущен или ожидание. |
|
Команда |
Команда, выполняемая в данный момент. |
|
База данных |
База данных, в которой выполняется процесс. |
|
ЦП |
Совокупное время выполнения процесса в миллисекундах. См. столбец cpu_time в sys.dm_exec_sessions (Transact-SQL). |
|
MemUsage |
Количество страниц в кэше процедур, выделенных в данный момент для этого процесса. Отрицательное значение показывает, что процесс освобождает память, выделенную другим процессом. |
|
BlockingSpid |
Идентификатор процедуры SQL Server, блокирующий процедуру, на которую приведена ссылка. |
|
IsSystem |
Значение, указывающее, является ли процесс системным. |
|
Program |
Имя программы для обработки. |
|
ExecutionContextID |
Значение идентификатора, однозначно определяющее контекст выполнения процесса. |
Замечания
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]
}
}
См. также