Server.EnumProcesses Method (Int32)
Enumerates a list of information about the specified process.
Assembly: Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)
Parameters
- processId
-
Type:
System.Int32
An Int32 value that specifies the ID value that uniquely identifies the process.
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, such as. running or sleeping. | |
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. |
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(1); 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(1) foreach ($r in $d.Rows) { Write-Host "============================================" Foreach ($c in $d.Columns) { Write-Host $c.ColumnName "=" $r[$c] } }