Server.EnumPerformanceCounters Method (String)

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

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

Syntax

'Declaration
Public Function EnumPerformanceCounters ( _
    objectName As String _
) As DataTable
'Usage
Dim instance As Server
Dim objectName As String
Dim returnValue As DataTable

returnValue = instance.EnumPerformanceCounters(objectName)
public DataTable EnumPerformanceCounters(
    string objectName
)
public:
DataTable^ EnumPerformanceCounters(
    String^ objectName
)
member EnumPerformanceCounters : 
        objectName:string -> DataTable 
public function EnumPerformanceCounters(
    objectName : String
) : DataTable

Parameters

  • objectName
    Type: System.String
    A String value that specifies the object on which to limit the results.

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 Using SQL Server Objects.

Examples

C#

Server srv = new Server("(local)");

DataTable d = srv.EnumPerformanceCounters("SqlServer:CLR");
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.EnumPerformanceCounters("SqlServer:CLR")
foreach ($r in $d.Rows)
{
   Write-Host "============================================"
   Foreach ($c in $d.Columns)
   {
      Write-Host $c.ColumnName "=" $r[$c]
   }
}