Server.EnumProcesses Method
Enumerates a list of processes running on the instance of SQL Server.
Namespace: Microsoft.SqlServer.Management.Smo
Assembly: Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)
Return Value
Type: System.Data.DataTableA DataTable object value that contains a list of processes running on the instance of SQL Server. The table describes the different columns of the returned DataTable.
Column | Data type | Description |
Urn | The URN string that represents the process. "Server[@Name='PCNAME']/Process[@Spid='51']", for example. | |
Name | The name of the process. | |
Spid | The SQL Server session ID that uniquely identifies the process, see the session_id column in sys.dm_exec_sessions (Transact-SQL). | |
Login | The login running the process. | |
Host | The name of the computer on which the process is running. | |
Status | The status of the process. Running and sleeping, for example. | |
Command | The command currently being executed. | |
Database | The database is which the process is running. | |
Cpu | The cumulative time taken by the process in milliseconds. See the cpu_time column in sys.dm_exec_sessions (Transact-SQL). | |
MemUsage | The number of pages in the procedure cache that are currently allocated to the process. A negative number indicates that the process is freeing up memory allocated by another process. | |
BlockingSpid | The SQL Server procedure ID of the procedure that is blocking the referenced procedure.. | |
IsSystem | The value that specifies whether the process is a system process or not. | |
Program | The name of the program the process | |
ExecutionContextID | The ID value that uniquely identifies the execution context under which the process is running. |
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]
}
}
