Server.EnumPerformanceCounters Method

Enumerates a list of performance counters that are supported by the instance of SQL Server.

Namespace:  Microsoft.SqlServer.Management.Smo
Assembly:  Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)

Syntax

'Declaration
Public Function EnumPerformanceCounters As DataTable
'Usage
Dim instance As Server 
Dim returnValue As DataTable 

returnValue = instance.EnumPerformanceCounters()
public DataTable EnumPerformanceCounters()
public:
DataTable^ EnumPerformanceCounters()
member EnumPerformanceCounters : unit -> DataTable
public function EnumPerformanceCounters() : DataTable

Return Value

Type: System.Data.DataTable
A DataTable object value that contains a list of performance counters supported by the instance of SQL Server. The table describes the different columns of the returned DataTable.

Column

Data type

Description

ObjectName

String

The name of the performance counter object. The SqlServer.ExecStatistics object, for example.

CounterName

String

The name of the performance counter. The Distributed Query counter, for example.

InstanceName

String

The name of the measurement to be taken. The Exec started per second instance, for example.

Remarks

This method enumerates all the performance counters available in SQL Server that you could use to create a performance alert. You can also see the performance counters listed in Use SQL Server Objects.

Examples

Visual Basic

Dim srv As Server
srv = New Server
'Call the EnumCollations method and return collation information to DataTable variable.
Dim d As DataTable
'Select the returned data into an array of DataRow.
d = srv.EnumPerformanceCounters()
'Iterate through the rows and display collation details for the instance of SQL Server.
Dim r As DataRow
Dim c As DataColumn
For Each r In d.Rows
   Console.WriteLine("============================================")
      For Each c In r.Table.Columns
      Console.WriteLine(c.ColumnName + " = " + r[c].ToString)
   Next
Next

PowerShell

$srv = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")

$d = $srv.EnumPerformanceCounters()

Foreach ($r in $d.Rows)
{
   Write-Host "============================================"
   Foreach ($c in $d.Columns)
   {
      Write-Host $c.ColumnName "=" $r[$c]
   }
}

See Also

Reference

Server Class

EnumPerformanceCounters Overload

Microsoft.SqlServer.Management.Smo Namespace

Other Resources

Use SQL Server Objects

Calling Methods

Managing Servers