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 |
表示进程的 URN 字符串。 例如“Server[@Name='PCNAME']/Process[@Spid='51']”。 |
|
Name |
进程的名称。 |
|
Spid |
唯一标识进程的 SQL Server 会话 ID,请参阅 sys.dm_exec_sessions (Transact-SQL) 中的 session_id 列。 |
|
登录 |
正在运行进程的登录名。 |
|
Host |
正在运行进程的计算机的名称。 |
|
Status |
进程的状态。例如正在运行和睡眠。 |
|
Command |
当前正在执行的命令。 |
|
数据库 |
正在运行进程的数据库。 |
|
Cpu |
进程所用的累计时间(毫秒)。请参阅 sys.dm_exec_sessions (Transact-SQL) 中的 cpu_time 列。 |
|
MemUsage |
当前为进程分配的过程缓存中的页数。一个负数,指示进程正在释放由另一个进程分配的内存。 |
|
BlockingSpid |
正在阻塞引用的过程的过程的 SQL Server 过程 ID。 |
|
IsSystem |
指定进程是否为系统进程的值。 |
|
Program |
程序的名称。 |
|
ExecutionContextID |
唯一标识运行进程所基于的执行上下文的 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]
}
}