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

String

The URN string that represents the process.

"Server[@Name='PCNAME']/Process[@Spid='51']", for example.

Name

String

The name of the process.

Spid

Int32

The SQL Server session ID that uniquely identifies the process, see the session_id column in sys.dm_exec_sessions (Transact-SQL).

Login

String

The login running the process.

Host

String

The name of the computer on which the process is running.

Status

String

The status of the process. Running and sleeping, for example.

Command

String

The command currently being executed.

Database

String

The database is which the process is running.

Cpu

Int32

The cumulative time taken by the process in milliseconds. See the cpu_time column in sys.dm_exec_sessions (Transact-SQL).

MemUsage

Int32

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

Int16

The SQL Server procedure ID of the procedure that is blocking the referenced procedure..

IsSystem

Boolean

The value that specifies whether the process is a system process or not.

Program

String

The name of the program the process

ExecutionContextID

Int16

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

Reference

Server Class

EnumProcesses Overload

Microsoft.SqlServer.Management.Smo Namespace

Other Resources

Calling Methods

Managing Servers

sys.sysprocesses (Transact-SQL)