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

String

表示进程的 URN 字符串。

例如“Server[@Name='PCNAME']/Process[@Spid='51']”。

Name

String

进程的名称。

Spid

Int32

唯一标识进程的 SQL Server 会话 ID,请参阅 sys.dm_exec_sessions (Transact-SQL) 中的 session_id 列。

登录

String

正在运行进程的登录名。

Host

String

正在运行进程的计算机的名称。

Status

String

进程的状态。例如正在运行和睡眠。

Command

String

当前正在执行的命令。

数据库

String

正在运行进程的数据库。

Cpu

Int32

进程所用的累计时间(毫秒)。请参阅 sys.dm_exec_sessions (Transact-SQL) 中的 cpu_time 列。

MemUsage

Int32

当前为进程分配的过程缓存中的页数。一个负数,指示进程正在释放由另一个进程分配的内存。

BlockingSpid

Int16

正在阻塞引用的过程的过程的 SQL Server 过程 ID。

IsSystem

Boolean

指定进程是否为系统进程的值。

Program

String

程序的名称。

ExecutionContextID

Int16

唯一标识运行进程所基于的执行上下文的 ID 值。

注释

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]
   }
}