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)
Syntax
'Declaration
Public Function EnumProcesses As DataTable
'Usage
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
Return Value
Type: System.Data.DataTable
A 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. | 
Remarks
Use this method to enumerate the processes that are currently running on the instance of SQL Server.
Examples
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]
   }
}
See Also