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

See Also

Reference

Server Class

EnumPerformanceCounters Overload

Microsoft.SqlServer.Management.Smo Namespace

Other Resources

Use SQL Server Objects

Calling Methods

Managing Servers